四川农业大学C语言机考复习题docx.docx
- 文档编号:10435183
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:39
- 大小:28.99KB
四川农业大学C语言机考复习题docx.docx
《四川农业大学C语言机考复习题docx.docx》由会员分享,可在线阅读,更多相关《四川农业大学C语言机考复习题docx.docx(39页珍藏版)》请在冰豆网上搜索。
四川农业大学C语言机考复习题docx
C语言机考复习题(2014年6月)
一、单选
1•以下说法中正确的是(C)
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序屮,要调用的函数必须在mainO函数屮定义
0C语言程序总是从mainO函数开始执行
D)C语言程序中的mainO函数必须放在程序的开始部分
2•下选项中不是语句的是(C)。
A)(inti;i++;printf("%d\n”,i);}
B);
C)a=5,c二10
D){;}
3.以下选项屮不能作为C语言合法常量的是
(A)
A)'cd'
B)0.le+6
C)〃\『
D)'\011'
的结果为
)。
4•若x,a,b和c均是int型变量则执行表达式x二(a二l,b二2)后
(B)o
A)1
B)2
C)3
D)不确定
5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是(D
A)inta二b二c二1;
B)inta,b,c二1;
C)a=b=c=l;
D)inta=l,b=l,c=l;
6•字符串〃\t\065\xff\n〃中的字符数(不算'\0')为(D)
A)5
B)14
C)8
D)47.对两个静态函数A和B进行如下初始化charA□二〃ABCDEF〃;
charB[]二
则下列叙述正确的是(D)。
A)A和B完全相同
B)A和B只是t度相等
C)A和B不相同A是指针数组
D)A数组长度比B数组长
&若冇以下定义
chara;intb;
floatc;doubled;
则表达式a*b+d-c值的类型为(D)
A)float
B)int
C)char
D)double
9•在C语言中运算对彖必须是整型数的运算符是(A)
A)%
B)/
C)%和\
D)**
10.有以下程序
main()
{intx,y,z;
x二y二1;
z二x++,y++,++y;
printf(〃%d,%d,%d\rT,x,y,z);
}
程序运行后的输出结果是
(C)
A)2,3,3
B)2,3,2
C)2,3,1
D)2,2,1
11.以下选项屮当x为大于1的奇数时值为0的表达式是(D)
A)x%2=l
B)x/2
C)x%2!
二0
D)x%2==0
12.以下程序的输出结果是(C)o
main()
intx=10,y=3;
printf(〃%d\rT,y=x/y);
A)0
B)1
C)3
D)不确定的值
13.若a为int类型且其值为3则执行完表达式a+=a-=a*a后a的值是(C)
A)-3
B)9
C)-12
D)6
14.已知字符A的ASCII码为十进制的65下而程序的输岀是(A)main()11
{
charchi,ch2;
chi二'A'+'5'-'3';
ch2二'A'+'6,—'3,;
printf("%d,%c\n〃,chi,ch2);
}
A)67,D
B)B,C
C)C,D
D)不确定的值
15.有以下程序
main()
{
chara=,aJ,b;
printf(〃%c,“,++a);
printf("%c\n〃,b=a++);
}
程序运行后的输出结果是
(A)
A)b,b
B)b,c
C)a,b
D)a,c
16.设a、b^c、d^m>n均为int型变量且a二5、b二6、c二7、d二8、ni二2、n=2则逻辑表达式(m=a>b)&&(n=c>d)运算后n的值为(C)
A)0
B)1
C)2
D)3
17•设x、y、t均为int型变量则执行语句x二y二3;t二++x||++y;后y的值为(C)
A)不定值
B)4
C)3
D)1
1&冇以下程序段
intk=0;
while(k=l)k++;
while循环执行的次数是(A)
A)无限次
B)有语法错不能执行
C)一次也不执行
D)执行1次
19•能正确表示逻辑关系“小二10或丛二0”的C语言表达式是(D)
A)a>=10ora=10
B)a>=0|a<=10
C)a>二10&&M二0
D)a>=10||a<=0
20.表示关系xWyWz的c语言表达式为(A)
A)(x<=y)&&(y<=z)
B)(x<=y)AND(y<=z)
C)(x<=y<=z)
D)(x<=y)&(y<=z)
21•设有inta=l,b=2,c=3,d=4,m=3,n=3;执彳亍(m=a>b)||(n=c>d)后n的值为(A)o
A)0
B)1
C)2
D)3
22.以下关于逻辑运算符两侧运算对彖的叙述中正确的是
(D)
A)只能是整数0或1
B)只能是整数0或非0整数
0可以是结构体类型的数据
D)可以是任意合法的表达式
23.若x和y都是int型变量x二100y二200且冇下而的程序片段printf(〃%d〃,(x,y));
上面程序片段的输出结杲是(A)
A)200
B)100
C)100200
D)输出格式符不够输出不确定的值
24.以下程序的输出结果是(D)
main()
{intk二17
printf(,z%d%o%x\n〃kkk)
}
A)170210x11
B)171717
C)170x11021
D)172111
25.x、y、z被定义为int型变量若从键盘给x、y、z输入数据正确的输入语句是(B)o
A)INPUTx、y、z;
B)scanf(〃%d%d%d〃,&x,&y,&z);
C)scanf(〃%d%d%d〃,x,y,z);
D)read("%d%d%d",&x,&y;&z);
26.有以下程序
main()
{
inti;
for(i=0;i〈3;i++)
switch(i)case0:
prinft(〃%d〃,i);case2:
prinft(〃%d〃,i);default:
prinft(z,%dz,,i);
程序运行后的输出结果是(C)
A)022111
B)021021
C)000122
D)012
27.C语言中用于结构化程序设计的三种基木结构是(A)
A)顺序结构、选择结构、循环结构
B)if、switch>break
C)for、whi1e>do-whi1e
D)if>for>continue
28.若执行下面的程序时从键盘上输入5则输出是(B)
main()
{intx;
scanf(〃%d〃,&x);
if(x++>5)printf(〃%d\rT,x);
elseprintf(〃%d\n〃,x--);}
A)7
B)6
C)5
D)4
29.在嵌套使用if语句时C语言规定else总是
(C)
A)和Z前与其具有相同缩进位置的if配对
B)和之前与其最近的if配对
0和之前与其最近的且不带else的if配对
D)和之前的第一个if配对
30.设有以下程序片段:
switch(X)
{
case'A':
printf("A");
case'B':
printf("B");
default:
printf("error");
}
假设X二'A',程序输出结果是(D)
A)A
B)B
C)error
D)ABcrror
31•读程序
main()
{intnum=0;
while(num<=2)
{num++;printf("%dnum);}
}
上面程序的输出结杲是(C)
A)1
B)22
0123
D)1234
32.下述语句执行后变量k的值是(B)ointk=l;
wh订e(k++<10);
A)10
B)11
C)9
D)此为无限循环值不定
33.以下程序段的执行结果是(A)o
intx=5;
do{printf(〃%2d\n〃,x--);}
while(!
x);
A)5
B)无任何输出
C)4
D)陷入死循环
34.设变量已正确定义则以下能正确计算f二n!
的程序段是(D)
A)f=0;
for(i=l;i<=n;i++)f*二i;
B)f=l;
for(i=l;i 0f二1; for(i=n;i>l;i++)f*二i; D)f二1; for(i=n;i>=2;i—)f*二i; 35.以下程序的输出结果是(C)o main() inta,b; for(a=l,b=l;a<=100;a++) if(b>=10)break; if(b%3==l) { b+二3;continue; } } printf("%d\n〃,a); } A)101 B)6 05 D)4 36.下列合法的数组定义是(D)。 A)inta[]二〃string"; B)inta[5]={0,1,2,3,4,5}; C)chara二"string〃; D)chara[]={0,1,2,3,4,5}; 37.以下定义语句中错误的是(D) A)inta□二{1,2}; B)char*a[3]; C)chars[10]二〃test"; D)intn二5,a[n]; 3&以下正确的数组定义语句是(D)o A)inty[l][4]={l,2,3,4,5}; B)floatx[3][]={{1},{2},{3}}; 0longs[2][3]={{1},{1,2},{1,2,3}}; D)intm[l][4]二{4}; 39.以下程序的输出结果是(C)。 main() { inti,a[10];for(i=9;i>=0;i—)a[i]=10-i; printf(z,%d%d%dz,,a[2],a[5],a[8]); A)258 B)741 C)852 D)369 40.下面的程序中(C)有错误(每行程序前面的数字是行号)o #inelude 2 3 4 5 6 7 8 floats[5];inti,sz=0; for(i=0;i<5;i++) scanf("%d〃,s[i]); for(i=0;i<5;i++) sz+二s[i]; 9printf(〃\n%f〃,(float)sz); 10} A)没有错误 B)第4行错误 0第6行错误 D)第9行错误 41.若有定义语句int且[3][6];按在内存中的存放顺序a数组的第10个元素是(B) A)a[0][4] B)a[l][3] C)a[0][3] D)a[l][4] 42.以下数组定义屮不正确的是(D) A)inta[2][3]; B)intb[][3]={0,1,2,3}; C)intc[100][100]={0}; D)intd[3][]二{{1,2},{1,2,3},{1,2,3,4}}; 43.以下程序的输出结果是(A)o main() { inta[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf(/,%d%d%d%d\n/,,a[0][3],a[l][2],a[2][1],a[3][0]); A)0650 B)1470 C)5430 D)输出值不定 44.若二维数组a冇ni列则在a[i][j]前的元素个数为(B A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1 45.以下程序的输出结果是 (B) main() {charcf[3][5]二{〃AAAA〃,〃CC〃}; printf(〃\"%s\〃\rT,cf[1]);; } A)〃AAAA〃 B)〃BBB〃 C)〃BBBCC〃 D)〃CC〃 46.设有数组定义: chararray[]二〃China";则数纽.array所占的空间为(C) A)4个字节 B)5个字节 06个字节 D)7个字节 47•以下选项屮不能正确赋值的是(A)o A)charsi[10];si二〃Ctest〃; B)chars2[]二{'C','t','e','s','t'}; C)chars3[20]二〃Ctest"; D)char*s4二〃Ctcst\rT; 48•给出以下定义 charx[]二"abcdfeg"; charyLJ={a,b,c,d,e,f,g}; 则正确的叙述为(C)o A)数组x和数组y等价 B)数组x和数组yK度相同 0数组x的K度大于数组y的氏度 D)数组x的长度小于数组y的长度 49.设有charstr[]二〃Beijing";则执行 printfstrlen(strcpy(str,"China"))); 后的输出结果为(A)。 A)5 B)7 C)12 D)14 50.若要求从键盘读入含有空格字符的字符串应使用函数 (B) A)getc() B)gets() C)getchar() D)scanf() 51.有语句 charstrl[10],str2[10]二{"books"}; 则能将字符串books赋给数组strl的正确语句是(B)。 A)strl二{"Books"}; B)strcpy(stri,str2); C)strl=str2; D)strcpy(str2,strl); 52.以下语句的输出结果是(A) printf(〃%d\rT,strlen("\tc\065\xff\n")); A)5 B)14 C)8 D)输出项不合法无正常输出 53•若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(D)。 A)a,point,*&a B)&*a,&a,*point C)*&point,*point, D)&a,&*point,point 54.设已有定义floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是(D) A)float*p二1024; B)int*p=(float)x; C)floatp二&x; D)float*p=&x; 55•设有语句inta=l,b=2,*pl=&a,*p2=&b;以下可使指针pl指向变量b的赋值语句是(C)o A)pl=*p2 B)*pl=p2 C)pl=p2 D)*pl二*p2 56•有以下程序 main() { inta[]={l,2,3,4,5,6,7,8,9,0},*p; for(p二a;p〈a+10;p++) printfC%d,〃,*p); } 程序运行后的输出结杲是(A) A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,&9,10,1, 00,1,2,3,4,5,6,7,&9, D)1,1,1,1,1,1,1,1,1,1, 57.若已定义chars[10];则在下面表达式中不能表示s[l]的地址的是(B)o A)s+1 B)s++ C)&s[0]+l D)&s[l] 5&在以下选项中操作不合法的一组是(B)。 A) int x[6], *p;p二&x[0]; B) int x[6], *p;*p=x; 0 int x[6], *P;P=X; D) int x[6], P;P=x[O]; 59•有以下程序main() {chars[]=〃159〃,*p; P=s; printf(〃%c〃,*p++); pritnf(〃%c〃,*p++); 程序运行后的输出结果是(A) A)15 B)16 C)12 D)59 60.以下程序运行后,如果从键盘上输入: book〈回车〉 book〈空格>〈回车〉则输出的结果是(B)#include {charal[80],a2[80],*sl=al,*s2=a2;gets(sl); gets(s2); if(! strcmp(sl,s2))printf(〃*〃); elseprintf(〃#〃);printf(〃%d\n〃,strlen(strcat(si,s2))); } A)*8 B)#9 C)#6 D)*9 61•以下语句或语句组中能正确进行字符串赋值的是(D) A)char*sp;*sp二"right! 〃; B)chars[10];s二〃right! "; C)chars[10];*s二〃right! "; D)char*sp二〃right! 〃; 62•下面程序段的运行结果是(A)ochar*p="abcdcfgh"; p+=2; printf(〃%d\n〃,strlen(strcpy(p,〃ABCD〃))); A)6 B)12 C)4 D)7 63.下面程序段的运行结果是(B)o charst讥]=〃ABC〃,*p=str; printf(z,%d\n,z,*(p+3)); A)67 B)0 0字符'C'的地址 D)字符'C' 64.以下程序运行后输出结果是(B) main() {char*s二〃abcde"; s+二2;printf(〃%d\n〃s);} A)cde B)字符c的ASCII码值 0字符c的地址 D)出错 65•下面程序的运行结杲是(B)o #inelude #inelude main() {char*sl二“AbDeG”; char*s2二“AbdEg”; sl+二2;s2+二2; printf(“%d\n”,strcmp(sl,s2)); } A)正数 B)负数 C)零 D)不确定的值 66•有以下程序 main() {char*p[10]={〃abc〃,"aabdfg","dedbe","abbd","cd"};printf(z,%d\nz,,strlen(p[4])); } 执行后输出结果是(A) A)2 B)3 C)4 D)5 67•若有语句char*line[5]以下叙述中正确的是(A) A)定义1ine是一个数组每个数组元素是一个基类型为char的指针变量 B)定义line是一个指针变量该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 68.设有如下定义: char*aa[2]={,zabcd,z,"ABCD"}贝U以下说法中正确的是 (B)o A)aa数组成元素的值分别是〃3bcd〃和ABCD〃 B)aa是指针变量,它指向含有两个数组元素的字符型一维数组 0aa数组的两个元素分别存放的是含有4个字符的一-维字符数组的首地址 D)aa数组的两个元素中各口存放了字符串,zabcdz/和〃ABCD〃的首地址 69.以下函数调用语句中含有(C)个实参。 fun((expl,exp2),(exp3,exp4,exp5)); A)1 B)2 C)4 D)570•下列函数定义中会出现编译错误的是(B) A)max(intx,inty,int*z){*z二x>y? x: y;} B)intmax(intx,y) { intz; z=x>y? x: y; returnz; } C)max(intx,inty) { intz; z=x>y? x: y; return(z); } D)intmax(intx,inty) {return(x>y? x: y);} 71.以下所列的各函数首部屮正确的是(C) A)voidplay(vara: integer,varb: integer) B)voidplay(inta,b) C)voidplay(inta,intb) D)Subplay(aasinteger,basinteger) 72.C语言中函数值类型的定义可以缺省此时函数值的隐含类型是(B) A)void B)int C)float D)double 73.b*面的函数调用语句中func函数的实参个数是 (A) func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8))); A)3 B)4 C)5 D)8 74•有以下程序 fun(intx,inty) {staticintm=0,i=2; i+二m+1;m二i+x+y;returnm; } main() {intj=l,m=l,k; k=fun(j,m);printf("%d,“,k); k=fun(j,m);printf("%d\rT,k); } 执行后的输出结杲是 (B) A)5,5 B)5,11 C)11,11 D)11,5 75.以下函数值的类型是 (A) fun(floatx) {floaty; y二3*x-4; returny; } A)int B)不确定 C)void D)float 76.以下程序的输出结果是 (C) fun(intx,inty,intz) {z二x*x+y*y;} main() {inta=31; fun(5,2,a); printf("%d",a); } A)0 B)2 C)31
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川 农业大学 语言 复习题 docx