收藏 分销(赏)

2023年天津专升本C语言考试单选填空汇总试题.doc

上传人:二*** 文档编号:4512347 上传时间:2024-09-26 格式:DOC 页数:17 大小:73.04KB
下载 相关 举报
2023年天津专升本C语言考试单选填空汇总试题.doc_第1页
第1页 / 共17页
本文档共17页,全文阅读请下载到手机保存,查看更方便
资源描述
C语言单选填空练习 一、单选题 1. (1) 由C语言编写的代码程序( ) A. 可直接执行 B. 是一个源程序 C. 通过编译即可执行 D. 通过编译解释才干执行 (2) C语言源程序的扩展名为( ) A. .obj B. .c C. .exe D. .cpp 2. (1) 按照C语言规定的用户标记符命名规则,不能出现在标记符中的是( ) A. 大写字母 B. 中划线 C. 数字字符 D. 下划线 (2) 下列选项中,不能用作标记符的是( )  A. _1234_ B. _1_2 C. int_2_ D. 2_int_ (3) 以下选项中合法的用户标记符是( ) A. long B. _2Test C. 3Dmax D. A.dat (4) 以下不能定义为用户标记符的是( ) A. Main B. _0 C. _int D. sizeof (5) 下列定义变量的语句错误的是( ) A. int _int; B. double int_; C. char For; D. float US$; (6) 以下选项中不合法的标记符是( ) A. print B. FOR C. &a D. _00 (7) 以下不合法的用户标记符是( ) A.j2_KEY B. Double C. 4d D. _8_ (8) 以下C语言用户标记符,不合法的是( ) A. _1 B. AaBc C. a_b D. a-b 3. (1) 在C语言中,整型数据分为( ) A. 二进制、八进制、十进制 B. 二进制、十进制、十六进制 C. 八进制、十进制、十六进制 D. 二进制、八进制、十进制、十六进制 (2) C源程序不能表达的进制为( ) A. 八进制 B. 二进制 C. 十六进制 D. 十进制 4. (1) 在C语言中,合法的实型常数是( ) A. 5E2.0 B. E-3 C. .2E0 D. 1.3E (2) 在C语言中,合法的实型常数是( ) A. 1.2E0.5 B. 3.14159E C. 5E-3 D. E15 (3) 以下选项中,不能作为合法常量的是( ) A. 1.234e04 B. 1.234e0.4 C. 1.234e+4 D. 1.234e0 (4) 以下不合法的数值常量是( ) A. 011 B. le1 C. 8.0E0.5 D. 0xabcd (5) 以下选项中,能用作数据常量的是( ) A. o115 B. 0118 C. 1.5e1.5 D. 115 (6) 以下选项中,合法的一组C语言数值常量是( ) A. 028 B. 12. C. .177 D. 0x8A .5e-3 OXa23 4e1.5 10,000 -0xf 4.5e0 Oabc 3.e5 5. (1) 在C语言中,非法的字符常量是( ) A.‘\t’ B.‘\17’ C. "\n" D.‘\xaa’ (2) 以下不合法的字符常量是( ) A.‘\018’ B.‘\"’ C.‘\\’ D.‘\xcc’ (3) 以下选项不属于字符常量的是( ) A. 'C' B. "C" C. '\xCC' D. '\072' (4) 以下选项中,非法的字符常量是 A.‘\101’ B.‘\65’ C.‘\xff’ D.‘\019’ 6. 在C语言中,以下关于运算符叙述错误的是( ) A. 在C语言中,逗号运算符的优先级最低 B. 在C语言中,赋值运算符自右向左运算 C. 在C语言中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算 D. 在C语言中,++、--运算符可以改变变量的值 7. 下列运算符中优先级最高的运算符是( )( ) A. <= B. = C. % D. && A. == B. / C. = D. >= 8. (1) 以下程序的输出结果是( ) main() { int a=3,b=4; printf("%d\n",a<=b); } A. 3 B. 4 C. 1 D. 0 (2) 在C语言中,表达式10!=9的值为( ) A. 0 B. False C. 1 D. True 9. 在C语言中,以下非法的表达式是( ) A. 0<=x<=100 B. i=j==0 C. (char)(65+3) D. x+1=x+1 10. 在C语言中,以下非法的赋值语句是( ) A. j++; B. ++(i+1); C. x=j>0; D. k=i==j; 11. (1) 表达式3.6-5/2+1.2+5%2的值是( ) A. 4.3 B. 4.8 C. 3.3 D. 3.8 (2) 若有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为( ) A. 1.9 B. 1 C. 2 D. 2.4 12. (1) 设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( ) A. 3 B. 0 C. 9 D. -12 (2) 设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( ) A. 10 B. 20 C. 40 D. 30 (3) 设有语句:int a=0;则执行语句 a+=(a=8);变量a的值是( ) A. 0 B. 8 C. 16 D. 24 13. 以下程序的输出结果是( )( )( )( )( ) ⑴ main() { int i=10,j=1; printf("%d,%d\n",i--,++j);} A. 9,2 B. 10,2 C. 9,1 D. 10,1 ⑵ main() { int a=12,b=12; printf("%d %d\n" ,--a,++b);} A. 10 10 B. 12 12 C. 11 10 D. 11 13 ⑶ main() { int x=023; printf("%d\n",--x);} A. 17 B. 18 C. 23 D. 24 ⑷ main() { int x=10,y=10; printf("%d %d\n",x--,--y);} A. 10 10 B. 9 9 C. 9 10 D. 10 9 ⑸ main() { int i=010,j=10; printf("%d,%d\n",++i,j--);} A. 11,10 B. 9,10 C. 010,9 D. 10,9 14. 以下程序的输出结果是( ) main() { int x=100,y=200; printf("%d\n",(x,y)); } A. 200 B. 100 C. 100 200 D. 200 100 15. 以下程序的输出结果是( ) main() { int x=10,y=3,z; printf("%d\n",z=(x%y,x/y)); } A. 1 B. 0 C. 4 D. 3 16. 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( ) A. 1 B. 2 C. 3 D. 4 17. 设int x=-1;执行表达式++x||++x||++x||++x,x的值是( ) A. 0 B. 1 C. 2 D. 4 18. 以下程序的输出结果是 (1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}( ) A. k=11,k=12,k=11 B. k=11,k=13,k=13 C. k=11,k=013,k=0xb D. k=11,k=13,k=b (2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }( ) A. 17,021,0x11 B. 17,17,17 C. 17,0x11,021 D. 17,21,11 19. (1) 设变量均已对的定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正 确的是(注:□代表空格字符)( ) A. 10□X□20□Y<回车> B. 10□X20□Y<回车> C. 10□X<回车> D. 10X<回车> 20□Y<回车> 20Y<回车> (2) 若有定义:int a,b;,通过语句scanf("%d,%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的 输入数据是( ) A. 3 5 B. 3,5 C. 3;5 D. 35 20. 设a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?a:d的结果是( ) A. 4 B. 3 C. 2 D. 1 21. 以下叙述中对的的是( ) A. 构成C程序的基本单位是函数 B. 可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前 D. 所有被调用函数一定要在调用之前进行定义 22. 以下说法中对的的是( ) A. C语言程序总是从第一个函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 23. 以下数组定义中错误的是( ) A. int x[][3]={0}; B. int x[2][3]={{1,2},{3,4},{5,6}}; C. int x[][3]={{1,2,3},{4,5,6}}; D. int x[2][3]={1,2,3,4,5,6}; 24. 以下能对的定义二维数组的是( )  A. int a[][3]; B. int a[][3]={2*3};  C. int a[][3]={}; D. int a[2][3]={{1},{2},{3,4}}; 25. 在C语言中,对于以下定义对的的叙述为( ) char x[]="abcdefg"; char y[]={'a','b','c','d','e','f','g'}; A. 数组x和数组y等价 B. 数组x和数组y的长度相同 C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度 26. 以下不能对的进行字符串赋初值的语句是( ) A. char str[5]= "good!"; B. char str[]="good!"; B. char *str="good!"; D. char str[5]={‘g’,‘o’,‘o’,‘d’}; 27. (1) 以下程序的输出结果是( ) main() { char str[]="ABCD",*p=str; printf("%d\n",*(p+4)); } A. 68 B. 'D' C. 0 D. '0' (2) 以下程序的输出结果是( ) main() { char str[]="aeiou",*p=str; printf("%c\n",*p+4)); } A. o B. u C. e D. f 28. (1) 以下程序的输出结果是( ) main() { char *p="abcde\0fghijk\0"; printf("%d\n",strlen(p)); } A. 5 B. 15 C. 6 D. 16 (2) 以下程序的输出结果是( ) main() { char s[]="\0"; printf("%d\n",strlen(s));} A. 8 B. 9 C. 10 D. 11 29. int a[10],*p=a; 不能代表a[1]地址的是( ) A. p+1 B. a+1 C. ++a D. ++p 30. 设有以下说明语句,则下面的叙述不对的的是( ) struct ex { char a; int b; float c; } example; A. struct 是结构体关键字 B. example是结构体类型名 C. a、b、c是结构体成员名 D. struct ex是结构体类型 二、填空题 1. C语言解决系统必须执行的环节依次为 、链接。 2. 在C语言中对源程序进行编译生成的目的文献的扩展名是 。 3. C程序设计的三种基本结构是:选择结构、循环结构和 。 4. 一个C语言程序的基本组成单位是 。 5. 一个C语言源程序由若干个 组成。 6. C程序的执行是从本程序的main函数开始,到本程序的 函数结束。 7. C语言标记符的第一个字符必须为下划线或者 。 8. 在C语言中,整型常量的书写形式涉及:八进制、十进制和 进制。 9. 在C语言中,运算符的操作数必须是整型的是 。 10. 设int a=9,b=6,c;,执行语句c=a/b+0.8;后c的值是 。 11. 设char w;int x;float y;double z;,则表达式w*x+z-y的值的类型是 。 12. 设int a;float b;char c;long d;double e;,则表达式a/c-b+d-e值的类型是 。 13. 若b是int型变量,则表达式b=25/3%3的值为 。 14. 设int x=7,y=3,则表达式x%y+x/y的值是 。 15. 设float x=23.65;, 则执行语句printf("%d\n",(int)(x+0.5));后输出结果是 。 16. 若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 。 17. 设int a=37;,则执行语句a+=a%=9;后,变量a的值是 。 18. 设int j=5;,则执行语句j+=j-=j*j;后,变量j的值是 。 19. 设int a=2;,则执行a+=a*=15;后,变量a的值是 。 20. 在C语言中,优先级最低的运算符是 。 21. 若a是int型变量,则表达式(a=4*5,a*2),a+6的值为 。 22. 设int a,b,c;则执行a=(b=3,c=5,b=10);后变量a的值是 。 23. 设int a=7,b=8;则printf("%d,%d\n",(a+b,a),(b,a+b));的输出结果是 。 24. 设int a=12;,语句printf("%d\n",(a/3,a%3,a/10>0));的输出结果是 。 25. 若定义了int a=1;,则执行printf("%d\n",((a=a+4,a+5),a+6));语句的输出结果是 。 26. 执行语句 y=10;x=y++;后变量x的值为 。 27. 设int x=10,y=3;,执行printf("%d,%d\n",x--,++y);后的输出结果是 。 28. 设int x=011; printf("%d\n",++x); 后的输出结果是 。 29. 设int a=010,b=10; 则语句printf("%d,%d\n",a++,--b);的结果为 。 30. 设int x=14;,则表达式x++%-5的值为 。 31. 运用运算符--,下列两条语句b=5+a;a-=1; 可以仅由一条语句实现,这条语句是 。 32. 设宏定义#define K 2+3,执行printf("%d\n",K/K);后的输出结果是 。 33. 设宏定义#define CIR(r) r*r,执行printf("%d\n",CIR(1)/CIR(2));后的输出结果是 。 34. 设宏定义#define F(x) x*x,执行printf("%d\n",F(3+4));后的输出结果是 。 35. 设有语句:int a,b; scanf("a=%d,b=%d",&a,&b); 若要为变量a和b输入数值1和2,对的的输入形式应当是 。 36. 设有语句:char ch1,ch2; scanf("%c%c",&ch1,&ch2); 若要为变量ch1和ch2输入字符A和B,对的的输入形式应当是 。 37. 在C语言中,要通过语句scanf("%d,%d,%d",&a,&b,&c);, 给变量a赋值1、给变量b赋值2、给变量c赋值3,对的的输入形式应当是 。 38. 设有语句:int a=5,b=4,c=2;,则表达式a>b!=c的值为 。 39. 对的表达数学关系式0≤x<20的C语言表达式是 。 40. 设x为整型变量,则描述“x是偶数”的表达式 。 41. 设int n;,“n的值能同时被3和5整除”的逻辑表达式是 。 42. 设int m,n;“n是小于整数m的偶数”的C语言表达式是 。 43. 判断char型变量ch是否为小写字母的对的表达式是 。 44. 设char ch;,判断ch为数字字符的逻辑表达式 。 45. 设int a=2,b=3,c=4;,则表达式a>b&&b<c||b的值是 。 46. 在C语言中,若int a=0,b;则执行“a=1?b=0:b=1;”后,b的值为 。 47. 在C语言中,若x=3,y=2,z=1,则表达式(x+=z)<y?x++:y++的值为 。 48. 若定义了int x=100;,则表达式x++>100?x+20:x+10的值是 。 49. 设int x=-9,y;,则执行y=x>=0?x:-x;后y的值是 。 50. 设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是 。 51. 设int x=1,y=3,z;,执行z=x>y?++x:y++;后,z的值是 。 52. int a=5,b=4,c=6; printf("%d\n",a>b?(a>c?a:c):(b));的结果是 。 53. 执行printf("%d\n",1+!2+(3<=4)+5/6+7%8);后的输出结果是 。 54. 设int a=1,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是 。 55. 设int a=-3,b=7,c=-1;则执行(a==0)&&(a=a%b<b/c);后变量a的值是 。 56. 设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是 。 57. 设int m=0;,执行表达式m||(m=2)||(m=3)||(m=4)后,m的值是 。 58. 设int a=0,b=0,c=2,d=4;,则执行(c=a==b)||(d=b==a);后变量d的值是 。 59. 设int a=1,b=2,m=2,n=2;,执行表达式(m=a<b)||++n后,n的值是 。 60. 下列程序段的输出结果是 。 int a=5,b=0,c=0; if(a=b+c) printf("***\n"); else printf("$$$\n"); 61. 设for(k=0;k<0;k++) ++k;则该循环共执行 次。 62. 设int n;,执行for(n=0;n==0;n++) n=0;后,循环体被执行的次数是 。 63. 执行语句for(i=10;i>0;i--);后,变量i的值是 。 64. 执行下列程序段后,输出结果是____________。 int x=3; do printf("%3d",x-=2); while(!(--x)); 65. 设int a=11,b=2;,执行下述程序段后,输出结果为 。 do a/=b++; while(a>b); printf("%d,%d\n",a,b); 66. 可以将被调函数中获得的值返回给主调函数的语句是 。 67. C语言规定简朴变量做实参的时候,它和相应形参之间的数据传递方式是 。 68. 若函数调用语句为fun(a,b,fun(a+b,a-b,b));,则函数fun的参数个数是 。 69. 若函数调用语句为func(rec1, rec2+rec3, (rec4, rec5)); 则具有的实参个数是 。 70. 若函数内定义变量的存储类别是static,该变量被称为局部 变量。 71. 设int a[10];则数组a的首元素是 。 72. 若有C语句:int a[][3]={1,2,3,4,5,6,7,8};则数组a第一维的大小为 。 73. 设double y[4][5];,则数组y中元素的个数是 。 74. 设int a[][4]={l,2,3,4,5,6,7};,则a[1][3]的值是 。 75. 设int a[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}};则表达式a[1][2]+a[2][3]的值是 。 76. printf("%d\n",NULL);的结果为 。 77. 设int a=10,*p=&a;,则执行printf("%d\n",*p+a);的结果是 。 78. 设int a,*p=&a;,通过指针变量p为a输入值的scanf语句是 。 79. 设char *strp="China";,执行printf("%s\n",strp+3);后的输出结果是 。 80. 设char a[20]={"switch"},*p=a;,则printf("%c\n",*(p+2));的结果是 。 81. 若定义函数时类型缺省,则该函数默认的类型是 。 82. 设char *p="abcdABCD";, 则执行printf("%s",p+4); 后输出结果是 。 83. 设有语句char s[]="World\0Wide\0Web"; 则执行语句printf("%s\n",s);后的输出结果是 。 84. 设char c[5]={'a','b','\0','c','\0'};则printf("%s\n",c);的输出是 。 85. 若定义了char ch[]={"abc\0def"},*p=ch;则执行printf("%c",*p+4);语句的输出结果是 。 86. 设char s[3]="AB",*p=s;,则*(p+2)的值是 。 87. 在C语句中“char s[8]="glister";char *p=s;”,则*(p+4)的值为 。 88. 设char s[]="hello!";,则数组s有 个元素。 89. 设char s[]={"apple"};,则执行printf("%d\n",strlen(s));后输出的值是 。 90. 执行printf("%d\n",strlen("ABCD\t\\\123"));后输出的值是 。 91. 执行语句printf("%d\n",strlen("a\n\x41"));后,输出结果是 。 92. 设char s[]="1234567";,执行printf("%d,%d\n", strlen(s),sizeof(s)); 后输出的结果是 。 93. 设char str1[10]="ABCDE",str2[10]="XYZ";则执行语句: printf("%d\n",strlen(strcpy(str1,str2)));后的输出是 。 94. 设int a[]={1,2,3,4,5,6,7,8},*s=a;,则*(s+1)的值是 。 95. 设 int a[10]={1,2,3};则*(a+3)的值是 。 96. 在C语言中,当调用函数时,实参是一个数组名,则函数传送的是数组的 。 97. 设int a[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是 。 98. 在C语言中,声明结构体类型的关键字是 。 99. 设struct student { char name[20]; char sex; } stu; 语句printf("%d\n",sizeof(stu));的输出结果是 。 100. 设struct student { int no; char name[12]; char sex; float score[4]; } stu1; 在程序执行时,系统为stu1分派 个字节的内存空间。 附录一:C语言的关键字(保存字) 1. auto:声明自动变量 2. short:声明短整型变量或函数 3. int: 声明整型变量或函数 4. long:声明长整型变量或函数 5. float:声明浮点型变量或函数 6. double:声明双精度变量或函数 7. char:声明字符型变量或函数 8. struct:声明结构体变量或函数 9. union:声明共用数据类型 10. enum:声明枚举类型 11. typedef:用以给数据类型取别名 12. const:声明只读变量 13. unsigned:声明无符号类型变量或函数 14. signed:声明有符号类型变量或函数 15. extern:声明变量是在其他文献中声明 16. register:声明寄存器变量 17. static:声明静态变量 18. volatile:说明变量在程序执行中被隐含地改变 19. void:声明函数无返回值或无参数 20. if:条件语句 21. else:条件语句否认分支 22. switch :用于开关语句 23. case:开关语句分支 24. for:一种循环语句 25. do :循环语句的循环体 26. while :循环语句的循环条件 27. goto:无条件跳转语句 28. continue:结束当前循环,开始下一轮循环 29. break:跳出当前循环 30. default:开关语句中的“其他”分支 31. sizeof:计算数据类型长度 32. return :子程序返回语句 附录二:运算符的优先级和结合性 优先级 运算符 运算符功能 运算类型 最高 15 ( ) [ ] -> . 圆括号、函数参数表 数组元素下标 指向结构体成员 结构体成员 14 ! ~ ++、-- + - * & (类型名) sizeof 逻辑非 按位取反 自加1、自减1 求正 求负 间接运算符 求地址运算符 强制类型转换 求所占字节数 单目运算 13 *、/、% 乘、除、整数求余 双目算术运算 12 +、- 加、减 双目算术运算 11 <<、>> 左移、右移 移位运算 10 <、<=、>、>= 小于、小于等于、大于、大于等于 关系运算 9 ==、!= 等于、不等 关系运算 8 & 按位与 位运算 优先级 运算符 运算符功能 运算类型 7 ^ 按位异或 位运算 6 | 按位或 位运算 5 && 逻辑与 逻辑运算 4 || 逻辑或 逻辑运算 3 ?: 条件运算 三目运算 2 =、+=、-=、*=、 /=、%=、&=、^=、 |=、<<=、>>= 赋值、运算且赋值 双目运算 最低1 , 顺序求值 顺序运算 其中,2、3、14的结合性为从右至左,其余为从左至右。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 专升本考试

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服