?2022年遼寧專升本C語言程序設(shè)計模擬習(xí)題(2)
摘要:本文是2022年遼寧專升本C語言程序設(shè)計模擬習(xí)題(2),內(nèi)容包含數(shù)組、函數(shù)等相關(guān)選擇題和填空題等題目。供大家報考參考,下面是具體內(nèi)容。
循環(huán)結(jié)構(gòu)程序設(shè)計
一 單項選擇題(每題2分,共40分)
1 以下程序中,while循環(huán)的循環(huán)次數(shù)是___。
main(){ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
}
……
}
A 1 B 10 C 6 D 死循環(huán)
2 以下程序的執(zhí)行結(jié)果是___。
main(){ int n=9;
while(n>6) { n--; printf("%d",n); }}
該程序的輸出結(jié)果是
A 987 B 876 C 8765 D 9876
3 以下程序段,while循環(huán)執(zhí)行的次數(shù)是___。
int k=0;
while(k=1) k++;
A 無限次 B 有語法錯 C 一次也不執(zhí)行 D 執(zhí)行1次
4 以下敘述正確的是___。
A do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替
B do-while語句構(gòu)成的循環(huán)只能用break語句退出
C 用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時結(jié)束循環(huán)
D 用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時結(jié)束循環(huán)
5 以下程序的執(zhí)行結(jié)果是___。
main()
{ int a,y;
a=10; y=0;
do{ a+=2; y+=a;
printf("a=%d y=%d\n",a,y);
if(y>20) break;
}while(a=14);
}
A a=12 y=12 B a=12 y=12
a=14 y=16 a=16 y=28
a=16 y=20
a=18 y=24
C a=12 y=12 D a=12 y=12
a=14 y=26
a=14 y=44
6 以下程序的執(zhí)行結(jié)果是___。
main()
{ int x=23;do{ printf("%d",x--); }while(!x);
}
A 321 B 23 C 不輸出任何內(nèi)容 D 陷入死循環(huán)
7 有以下程序段,輸出結(jié)果是___。
int x=3;
do { printf("%d ",x-=2); }while(!(- -x));
A 1 B 3 0 C 1 -2 D 死循環(huán)
8 以下程序的輸出結(jié)果是___。
main()
{ int a=0,i;for(i=1;i<5;i++){ switch(i)
{ case 0: case 3: a+=2;case 1: case 2: a+=3;default:a+=5;
}}printf("%d\n",a);
}
A 31 B 13 C 10 D 20
9 以下程序的輸出結(jié)果是___。
main(){ int i=0,a=0;
while(i<20){ for(; ;)
if((i%10)==0) break;
else i--;
i+=11; a+=i;
}
printf("%d\n",a);
}
A 21 B 32 C 33 D 11
10 以下循環(huán)體的執(zhí)行次數(shù)是___。
main()
{ int i,j;
for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d \n",i);
}
A 3 B 2 C 1 D 0
11 下列程序的輸出結(jié)果是___。
main()
{ int i,j,m=0,n=0;
for(i=0;<2;i++)
for(j=0;j<2;j++)
if(j>=i) m=1;n++;
printf("%d\n",n);
}
A 4 B 2 C 1 D 0
12 下列程序的輸出結(jié)果是___。
main()
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i;
printf("%d\n",sum);
}
A 6 B 3 C 死循環(huán) D 0
13 以下程序執(zhí)行后sum的值是___。
main(){ int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}
A 15 B 14 C 不確定 D 0
14以下程序執(zhí)行后的輸出結(jié)果是___。
main()
{ int i,n=0;
for(i=2;i<5;i++)
{ do{ if(i%3) continue; n++; } while(!i);
n++;
}
printf("n=%d\n",n);
}
A n=5 B n=2 C n=3 D n=4
15 下列語句中,能正確輸出26個英文字母的是___。
A for(a='a';a<='z';printf("%c",++a)); B for(a='a';a<='z';) printf("%c",a);
C for(a='a';a<='z';printf("%c",a++)); D for(a='a';a<='z';printf("%c",a));
16 以下程序執(zhí)行后的輸出結(jié)果是___。
main()
{ int x=1,y=1;
while(y<=5)
{ if(x>=10) break;
if(x%2==0)
{ x+=5; continue; }
x-=3; y++;
}
printf("%d,%d",x,y);
}
A 6,6 B 7,6 C 10,3 D 7,3
17 以下程序執(zhí)行后的輸出結(jié)果是___。
main()
{ int a=5;
while(!(a-->5))
{ switch(a)
{ case 1:a++;
case 4:a+=4;
case 5:a+=5;break;
default:a-=5;
}
}
printf("%d\n",a);
}
A 12 B 7 C 5 D 13
18 對于下面的for循環(huán)語句,可以斷定它執(zhí)行___次循環(huán)。
for(x=0,y=0;(y!=67)&&(x<5);x++) printf("----");
A無限 B 不定 C 5次 D 4次
19 在執(zhí)行以下程序時,如果從鍵盤上輸入:ABCdef,則輸出結(jié)果為___。
#include "stdio.h"
main()
{ char ch;
while((ch=getchar())!='\n')
{ if(ch>='A' && ch<='Z') ch=ch+32;
else if(ch>='a' && ch<='z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A ABCdef B abcDEF C abc D DEF
20 當(dāng)執(zhí)行以下程序時,___。
int a=1;
do{ a=a*a; }while(!a);
A 循環(huán)體將執(zhí)行1次 B 循環(huán)體將執(zhí)行2次
C 循環(huán)體將執(zhí)行無限次 D 系統(tǒng)將提示有語法錯誤
二 填空題(每空3分,共33分)
1 若輸入字符串:abcde
while((ch=getchar())=='e') printf("*");
2 以下while循環(huán)執(zhí)行的次數(shù)是___。
k=0; while(k=10) k=k+1;
3 下列程序的輸出結(jié)果是___。
main()
{ int x=0,y=5,z=3;
while(z-->0 && ++x<5) y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
4 下面程序的功能是:計算1到10之間的奇數(shù)之和及偶數(shù)之和,請?zhí)羁铡?/p>
main(){ int a,b,c,i;
a=c=0;for(i=0;i<=10;i+=2){ a+=i;
_ 【1】 ;
c+=b;}printf("偶數(shù)之和=%d\n奇數(shù)之和=%d\n",a, 【2】 );
}
5 下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?/p>
main(){ int i,j;
for(i=0; _ 【1】 ; i++){ j=i*10+6;
if(_ 【2】 )continue;printf("%d\n",j);
}
}
6 以下程序的輸出結(jié)果是___。
main()
{ int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
7 要使以下程序段輸出10個整數(shù),請?zhí)钊胍粋€整數(shù)。
for(i=0;i<=___;printf("%d \n",i+=2)) ;
8 程序的功能是根據(jù)以下近似公式求π值:
請?zhí)羁胀瓿汕螃械墓δ堋?/p>
#include "math.h"
main(){ int n=30000; double s=0.0; long i;
for(i=1;i<=n;i++) s=s+_ 【1】 ; printf("pi=%f\n",_ 【2】 );
}
三 程序填空題(每空3分,共27分)
1 下列程序是求的值。
#include "stdio.h"
main()
{ int i=2; float sum=1;;
while( 【1】 )
{ sum=sum+1.0/i; 【2】 ; }
printf("sum=%f\n", 【3】 );
}
2 以下程序的功能是從鍵盤輸入若干個學(xué)生的成績,統(tǒng)計最高成績和最低成績,當(dāng)輸入為負(fù)數(shù)時,結(jié)束輸入。
main()
{ float x,max,min;
scanf("%f",&x);
max=min= 【1】 ;
do{ if(x>max) max=x;
if(x<min) p="" ;
scanf("%f",&x);
} while( 【3】 );
printf("%f,%f",max,min);
}
3 下面的程序用來求出所有的水仙花數(shù)。所謂水仙花數(shù)是指一個3位數(shù),它的各位數(shù)字的立方和恰好等于它本身。
main()
{ int n,i,j,k;
for(n=100; 【1】 ) /* 判斷3位數(shù)n是否是水仙花數(shù) */
{ i=n/100; /* i是n的百位上的數(shù)字 */
j= 【2】 ; /* j是n的十位上的數(shù)字 */
k=n%10; /* k是n的個位上的數(shù)字 */
if( 【3】 ) printf("%d\n",n);
}
}
數(shù)組
一 單項選擇題(每題2分,共40分)
1 以下對一維整型數(shù)組a的正確定義(說明)的是___。
A int a(10); B)int n=10,a[n]; C int n; D #define SIZE 10
scanf("%d",&n); int a[SIZE];
int a[n];
2 若有定義(說明)int a[10];,則對數(shù)組a的元素正確引用的是___。
A a[10] B a[3.5] C a(5) D a[10-10]
3 執(zhí)行下面程序段后,變量k 的值是___。
int k=3,s[2];
s[0]=k; k=s[1]*10;
A 不定值 B 33 C 30 D 10
4 以下程序的輸出結(jié)果是___。
main()
{ int i,k,a[10],p[3];
k=5;
for(i=0;i<10;i++) a[i]=i;
for(i=0;i<3;i++) p[i]=a[i*(i+1)];
for(i=0;i<3;i++) k+=p[i]*2;
printf("%d\n",k);
}
A 20 B 21 C 22 D 23
5 以下對一維整型數(shù)組a初始化的語句中正確的是___。
A int a[10]=(0,0,0,0,0); B int a[10]=();
C int x=2,a[10]={10*x}; D int a[10]={0};
6 若有以下說明,則數(shù)值為4的表達(dá)式是___。
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
A a[g-c] B a[4] C a['d'-'c'] D a['d'-c]
7 下列程序運行后的輸出結(jié)果是___。
#define MAX 10
void main()
{ int i,sum,a[]={1,2,3,4,5,6,7,8,9,10};
sum=1;
for(i=0;i
printf("sum=%d\n",sum);
}
A sum=55 B sum=-54 C sum=-55 D sum=54
8 以下程序的輸出結(jié)果是___。
main()
{ int y=18,i=0,j,a[8];
do{ a[i]=y%2; i++; y=y/2; }while(y>=1);
for(j=i-1;j>0;j--) printf("%d",a[j]);
}
A 1000 B 1001 C 1010 D 1100
9 以下對二維數(shù)組a的正確定義(說明)的是___。
A int a[3][]; B float a(3,4); Cdouble a[1][4]; D float a(3)(4);
10 若有定義(說明)int a[3][4];,則對數(shù)組a的元素的引用非法的是___。
A a[2][2*1] B a[1][3] C a[4-2][0] D a[0][4]
11 以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是___。
A int a[2][3]={0}; B int a[][3]={{1,2},{0}};
C int a[2][3]={{1,2},{3,4},{5,6}}; D int a[][3]={1,2,3,4,5,6};
12 下列數(shù)組定義語句中,正確的是___。
A char a[][]={'a','b','c','d','e','f'}; B char a[2][3]='a','b';
C char a[][3]={'a','b','c','d','e','f'}; D char a[][]={{'a','b','c','d','e','f'}};
13 下列程序運行后的輸出結(jié)果是___。
main()
{ int a[4][4],i,j,k;
for(i=0;i<4;i++)
for(j=0;j<4;j++) a[i][j]=i-j;
for(i=1;i<4;i++)
for(j=i+1;j<4;j++)
{ k=a[i][j]; a[i][j]=a[j][i]; a[j][i]=k; }
for(i=0;i<4;i++)
{ printf("\n");
for(j=0;j<4;j++) printf("%4d",a[i][j]);
}
}
A 0 -1 -2 -3 B 0 1 2 3
1 0 -1 -2 -1 0 1 2
2 1 0 -1 -2 -1 0 1
3 2 1 0 -3 -2 -1 0
C 0 -1 -2 -3 D 0 1 2 3
1 0 1 2 -1 0 -1 -2
2 -1 0 1 -2 1 0 -2
3 -2 -1 0 -3 2 1 0
14 以下程序的輸出結(jié)果是___。
main()
{ int i,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A 0650 B 1470 C 5430 D 輸出值不定
15 有以下程序:
main()
{ int x[3][2]={0},i;
for(i=0;i<3;i++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若運行時輸入:2 4 6
A 2 0 0 B 2 0 4 C 2 4 0 D 2 4 6
16 下列描述不正確的是___。
A 字符型數(shù)組中可以存放字符串
B 可以對字符型數(shù)組進(jìn)行整體輸入和輸出
C 可以對整型數(shù)組進(jìn)行整體輸入和輸出
D 不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進(jìn)行整體賦值
17 對于以下定義,敘述正確的是___。
char x[]="abcdef";
char x[]={'a','b' 'c','d','e','f'};
A 數(shù)組x和數(shù)組y等價 B 數(shù)組x和數(shù)組y的長度相等
C 數(shù)組x的長度大于數(shù)組y的長度 D 數(shù)組x的長度小于數(shù)組y的長度
18 以下選項中,不能正確賦值的是___。
A char s1[10];s1="Ctest"; B char s2[]={'C','t','e','s','t'};
C char s3[20]="Ctest"; D char s4[30];strcpy(s4,"Ctest");
19 若有定義和語句:char s=[10];s="abcd";printf("%s\n",s);,則輸出結(jié)果是___。
(以下□表示空格)
A abcd B a C abcd□□□□□ D 編譯不通過
20 當(dāng)執(zhí)行下面程序時,如果輸入ABC,則輸出結(jié)果是___。
#include
#include
main()
{ char ss[10]="12345";
gets(ss); strcat(ss, "6789");
printf("%s\n",ss);
}
A ABC6789 B ABC67 C 12345ABC6 D ABC45678
二 填空題(每空3分,共24分)
1 若int類型變量占兩個字節(jié),定義int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占的字節(jié)數(shù)是___。
2 若有定義char a[]="\\141\141abc\t";,則數(shù)組a在內(nèi)存中所占的字節(jié)數(shù)是___。
3 下列程序的輸出結(jié)果是___。
main()
{ int i,a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d\n",a[2],a[5],a[8]);
}
4 下列程序運行的結(jié)果是___。
main()
{ char ch[7]="65ab21"; int i,s=0;
for(i=0;ch[i]>='0' && ch[i]<='9';i+=2) s=10*s+ch[i]-'0';
printf("%d\n",s);
}
5 有定義語句:char s[100],d[100];int j=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)字符串復(fù)制。(注意:不得使用逗號表達(dá)式)
while(s[i])
{ d[j]=___; j++ ; }
d[j]=0;
6 下面程序運行的結(jié)果是___。
main()
{ char s[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
7 以下程序的輸出結(jié)果是___。
main()
{ char ch[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
8 以下程序的輸出結(jié)果是___。
main()
{ char ch[]="abc",x[3][4]; int i;
for(i=0;i<3;i++) strcpy(x[i],ch);
for(i=0;i<3;i++) printf("%s",&x[i][i]);
printf("\n");
}
三 程序填空題(每空3分,共36分)
1 以下程序的功能是:從鍵盤上輸入若干個學(xué)生的成績(用輸入負(fù)數(shù)結(jié)束輸入),統(tǒng)計出平均成績,并輸出低于平均分的學(xué)生成績。請?zhí)羁铡?/p>
#include "stdio.h"
main()
{ int n=0,i; float x[1000],sum=0.0,ave,a;
printf("Enter mark:\n"); scanf("%f",&a);
while(a>=0.0 && n<1000)
{ sum+= 【1】 ; x[n]= 【2】 ;
n++; scanf("%f",&a);
}
ave= 【3】 ;
print("Output:\n");
printf("ave=%f\n",ave);
for(i=0;i<n;i++) p="" printf(?%f\n?,x[i]);
}
2 以下程序的功能是求出矩陣x的上三角元素之積。其中矩陣x的行列數(shù)和元素的值均由鍵盤輸入。請?zhí)羁铡?/p>
#define M 10
main()
{ int x[M][M]; int n,i,j; long s=1;
printf("Enter a integer(<=10):\n");
scanf("%d",&n);
printf("Enter %d data on each line for the array x\n",n);
for( 【1】 )
for(j=0;j<n;j++) p="" scanf(?%d?,&x[i][j]);
for(i=0;i<n;i++)< p="">
for( 【2】 ) 【3】 ;
printf("%ld",s);
}
3 以下程序,數(shù)組a中存放一個遞增數(shù)列。輸入一個整數(shù),并將它插入到數(shù)組a中,使之仍為一個遞增數(shù)列。請?zhí)羁铡?/p>
main()
{ int a[ 【1】 ]={1,10,20,30,40,50,60,70,80,90},x,i,p;
scanf("%d",&x);
for(i=0,p=10;i<10;i++)
if(x<a[i]) p="i;" 【2】="" }
for(i=9;i>=p;i--) a[i+1]=a[i];
【3】 ;
for(i=0;i<=10;i++) printf("%5d\n",a[i]);
printf("\n");
}
4 以下程序的功能是:將t數(shù)組的內(nèi)容連接到s數(shù)組內(nèi)容的后面,使s數(shù)組保存連接后的新字符串。
main()
{ static char s[30]="abcdefg",t[]="abcd"; int i=0,j=0;
while(s[i]!='\0') 【1】 ;
while(t[j]!='\0') { s[i+j]=t[j]; j++; }
【2】 ;
printf("%s\n",s);
}
函數(shù)
一 單項選擇題(每題2分,共40分)
1 以下正確的函數(shù)定義是___。
A double fun(int x,int y) B double fun(int x,y)
{ z=x+y; return z; } { int z; return z; }
C fun (x,y) D double fun(int x,int y)
{ int x,y; double z ; { double z;
z=x+y; return z; } return z; }
2 以下正確的說法是___。
A 實參和與其對應(yīng)的形參各占用獨立的存儲單元
B 實參和與其對應(yīng)的形參共占用一個存儲單元
C 有當(dāng)實參和與其對應(yīng)的形參同名時才共占用相同的存儲單元
D 形參是虛擬的,不占用存儲單元
3 若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則正確的說法是___。
A 該函數(shù)沒有返回值 B 該函數(shù)返回若干個系統(tǒng)默認(rèn)值
C 能返回一個用戶所希望的函數(shù)值 D 返回一個不確定的值
4 以下正確的描述是___。
A 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
D 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套
5 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是___。
A 數(shù)組的首地址 B 數(shù)組中第一個元素的值
C 數(shù)組中的全部元素的值 D 數(shù)組元素的個數(shù)
6 以下不正確的說法是___。
A 在不同函數(shù)中可以使用相同名字的變量
B 形式參數(shù)是局部變量
C 在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有定義
D 在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有定義
7 已知一個函數(shù)的定義如下:
double fun(int x, double y) { …… }
則該函數(shù)正確的函數(shù)原型聲明為___。
A double fun(int x,double y) B fun(int x,double y)
C double fun(int,double); D fun(x,y);
8 關(guān)于函數(shù)聲明,以下不正確的說法是___。
A 如果函數(shù)定義出現(xiàn)在函數(shù)調(diào)用之前,可以不必加函數(shù)原型聲明
B 如果在所有函數(shù)定義之前,在函數(shù)外部已做了聲明,則各個主調(diào)函數(shù)不必再做函數(shù)原型聲明
C 函數(shù)在調(diào)用之前,一定要聲明函數(shù)原型,保證編譯系統(tǒng)進(jìn)行全面的調(diào)用檢查
D 標(biāo)準(zhǔn)庫不需要函數(shù)原型聲明
9 調(diào)用函數(shù)的實參與被調(diào)用函數(shù)的形參應(yīng)有如下關(guān)系___。
A 只要求實參與形參個數(shù)相等 B 只要求實參與形參順序相同
C 只要求實參與形參數(shù)據(jù)類型相同 D 上述三點均需具備
10 凡在函數(shù)中未指定存儲類別的變量,其隱含的存儲類別是___。
A 自動 B 靜態(tài) C 外部 D 寄存器
11 在源程序的一個文件中定義的全局變量的作用域是___。
A 在本文件的全部范圍 B 該程序的全部范圍
C 一個函數(shù)的范圍 D 從定義該變量的位置開始至該文件的結(jié)束
12 下列程序運行后的輸出的數(shù)據(jù)是___。
int sum(int n)
{ int p=1,s=0,i;
for(i=1;i<=n;i++) s+=(p*=i);
return s;
}
main()
{ printf("sum(5)=%d\n",sum(5)); }
A sum(5)=151 B sum(5)=152 C sum(5)=153 D sum(5)=155
13 下列程序運行后的輸出結(jié)果是___。
int c=1;
main()
{ static int a=5;int b=6;
printf("a=%d,b=%d,c=%d\n",a,b,c);
func();
printf("a=%d,b=%d,c=%d\n",a,b,c);
func();
}
func()
{ static int a=4;int b=10;
a+=2;c+=10;b+=c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
A a=5,b=6,c=1 B a=5,b=6,c=11 C a=5,b=6,c=1 D a=5,b=6,c=1
a=6,b=21,c=11 a=5,b=21,c=11 a=5,b=21,c=11 a=6,b=21,c=11
a=5,b=6,c=11 a=5,b=6,c=11 a=5,b=6,c=11 a=5,b=6,c=11
a=8,b=31,c=21 a=8,b=31,c=21 a=8,b=31,c=21 a=5,b=31,c=21
14 運行下面的程序后,其輸出結(jié)果是___。
main()
{ int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
int f(int x)
{ int y;
y=x++*x++;
return y;
}
A 9 B 6 C 36 D 18
15 下列程序輸出結(jié)果是___。
#include
my()
{ static int x=3;
x++;
return(x);
}
main()
{ int i,x;
for(i=0;i<=2;i++) x=my();
printf("%d\n",x);
}
A 3 B 4 C 5 D 6
16 下列程序的輸出結(jié)果是___。
#include
int abc(int u,int v)
{ int w;
while(v) { w=u%v; u=v; v=w; }
return u;
}
main()
{ int a=24,b=16,c;
c=abc(a,b);
printf("%d\n",c);
}
A 8 B 6 C 5 D 4
17 下列程序運行后的輸出結(jié)果是___。
main()
{ static char s[]="abcdefgca";
p(s); printf("s[]=%s\n",s);
}
p(char s[])
{ int i,j;
for(i=j=0;s[i]!= '\0';i++) if(s[i]!='a'+2) s[j++]=s[i];
s[j]= '\0';
}
A s[]=abcdefgca B s[]=abdefga C s[]=bcdefgc D 程序有錯
18 下列程序運行后的輸出結(jié)果是___。
void main()
{ int m=4,n=2,k;
k=fun(m,n); printf("%d\n",k);
k=fun(m,n); printf("%d\n",k);
}
int fun(int x,int y)
{ static int n=3,i=2;
i+=n+1; n=i+x+y;
return(n);
}
A 12 B 12 C 12 D 12
12 23 25 16
19 下列程序運行后的輸出結(jié)果是___。
int x=1;
main()
{ int i=5;
fun(i);
printf("%d,%d\n",i,x);
}
fun(m)
int m;
{ m+=x;
x+=m;
{ char x='A'; printf("%d\n",x); }
printf("%d,%d\n",m,x);
}
A 65 B A C A D 65
6,1 6,1 6,7 6,7
6,1 6,1 6,7 5,7
20 下列程序運行后,若從鍵盤輸入ABC!四個字符后,程序輸出是___。
#include
main()
{ void receiv();
receiv();
}
void receiv()
{ char c;
c=getchar();
putchar(c);
if(c!='!') receiv();
putchar(c);
}
A ABC!! B ABC!ABC! C ABC!!CBA D ABCABC
二 填空題(每空3分,共30分)
1 函數(shù)調(diào)用語句:fun((a,b),(c,d,e));,實參個數(shù)為___。
2 凡在函數(shù)中未指定存儲類別的局部變量,其默認(rèn)的存儲類別為___。
3 在一個C程序中,若要定義一個只允許本源程序文件中所有函數(shù)使用的全局變量,則該變量需要定義的存儲類別為___。
4 C語言規(guī)定,調(diào)用一個函數(shù)時,實參變量和形參變量之間的數(shù)據(jù)傳遞方式是___。
5 運行下面程序,其輸出結(jié)果是___。
#include
int x,y;
one()
{ int a,b;
a=25,b=10;
x=a-b;y=a+b;
}
main()
{ int a,b;
a=9,b=5;
x=a+b;y=a-b;
one();
printf("%d,%d\n",x,y):
}
6 運行下面程序,其輸出結(jié)果是___。
#include
main()
{ void printd()
int n=123;
printd(n);
}
void printd(int n)
{ int i;
if(n<0) { n=-n; putchar('-'); }
putchar(n%10+'0');
if((i=n/10)!=0) printd(i);
}
7 運行下面程序,從鍵盤輸入四個字符xyz#,其輸出是___。
#include
main()
{ void recursion();
recursion();
}
void recursion()
{ char c;
c=getchar();
putchar(c);
if(c!='#') recursion();
putchar(c);
}
8 以下程序的輸出結(jié)果是___。
#include
void fun(int x)
{ if(x/2>0) fun(x/2); printf("%d ",x); }
main()
{ fun(3); printf("\n"); }
9 以下程序運行結(jié)果是___。
int a=1;
int f(int c)
{ static int a=2;
c=c+1;
return (a++)+c;
}
main()
{ int i,k=0;
for(i=0;i<2;i++){ int a=3; k+=f(a); }
k+=a;
printf("%d\n",k);
}
10.以下程序的運行結(jié)果是___。
int k=0;
void fun(int m)
{ m+=k; k+=m; printf("m=%d\n k=%d ",m,k++); }
main()
{ int i=4;
fun(i++); printf("i=%d k=%d\n",i,k);
}
三 程序填空題(每空3分,共30分)
1 一個整數(shù)稱為完全平方數(shù),是指它的值是另一個整數(shù)的平方。例如81是個完全平方數(shù),因為它是9的平方。下列程序是在三位的正整數(shù)中尋找符合下列條件的整數(shù):它既是完全平方數(shù),且三位數(shù)字中又有兩位數(shù)字相同:例如144(12*12)、676(26*26)等,程序找出并輸出所有滿足上述條件的三全數(shù)。
程序如下:
main()
{ int n,k,a,b,c;
for(k=1;;k++)
{ 【1】
if(n<100) 【2】 ;
if(n>999) 【3】 ;
a=n/100;
b= 【4】 ;
c=n%10;
if(flag(a,b,c)) printf("n=%d=%d*%d\n",n,k,k);
}
}
flag 【5】
{ return(!((x-y)*(x-z)*(y-z))); }
2 以下程序的功能是應(yīng)用近似公式計算ex的值。其中,函數(shù)f1計算每項分子的值,函數(shù)f2計算每項分母的值。共取nmax項之和作為e的近似值。
float f2(int n)
{ if(n= =1) return 1;
else return 【6】 ;
}
float f1(float x, int n)
{ int i; float j= 【7】 ;
for(i=1; 【8】 ;i++) j=j*x;
return j;
}
#define nmax 20
main()
{ float x,exp=1.0; int n;
printf("Input x value:");
scanf("%f",&x);
for(n=1;n<nmax;n++) p=【9】"" ;
printf("x=%f,exp(x)=%f\n",x, 【10】 _);
}
延伸閱讀
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(九)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(八)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(七)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(六)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(五)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(四)
專升本微信公眾號
掃碼添加
專升本備考資料免費領(lǐng)取
去領(lǐng)取