以下合法的C语言赋值语句是哪个

合集下载

二级c语言程序设计习题及解答ch1-3

二级c语言程序设计习题及解答ch1-3

12)计算机能直接执行的程序是(B )。

A)源程序B)目标程序C)汇编程序D)可执行程序13)以下叙述中正确的是( D )A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整例年真题:#include<stdio.h>main(){Int a;A=5; /*给A变量赋值5A+=3; 再赋值后再加3*/Printf(“%d”,a);}(11)以下叙述中正确的是( C )。

A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D)C 语句必须在一行内写完(11)以下叙述中正确的是( C )A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中,能用作用户标识符的是( C )A)voidB)8_8C)_0_D)unsigned【解析】A:关键字不可以B:不以数字开头C:正确D:关键字(13)以下选项中合法的标识符是( C )A)1-1 B)1—1C)-11D)1—【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符(14)以下选项中不合法的标识符是( C )A)print B)FOR C)&a D)_00【解析】C:出现非法字符&(15)以下选项中,能用作数据常量的是( D )A)o115 B)0118 C)1.5e1.5D)115L【解析】A:八进制以0开头而不是以o开头B:八进制最大值为7,范围0-7 C:指数必须为整数D: 长整型正确(13)以下选项中不能作为C语言合法常量的是(A)。

A)'cd'B)0.1e+6 C)"\a" D)'\011'【解析】A:字符常量只能有一个字符(16)以下选项中不属于字符常量的是( B )A)'C'B)"C"C)'\xCC0' D)'\072'【解析】B:字符常量以单引号作为标志,其为字符串(14)表达式:4-(9)%2的值是( B )A)0B)3C)4D)5【解析】(9)%2=1(取余),4-1=3(14)设变量已正确定义并赋值,以下正确的表达式是 ( C )A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0【解析】A:等号左边必须为变量,不可以为表达式,y*5是表达式B:%只适用于整型变量D: %只适用于整型变量(15)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )A)-20B)-10C)0D)10【解析】先算右边得20,x-=20,则10-20=-10(14)设有定义:int x=2;,以下表达式中,值不为6的是 ( D )A) x*=x+1 x=x*(x+1)B) x++,2*xC)x*=(1+x)D)2*x,x+=2【解析】逗号表达式的最终结果看最后一个表达式,x+=2,结果为4(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 (A)A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;【解析】等号左边必为变量,不能为常量或数字排除C 、D,%只能用于整数排除B第三章输入输出习题讲解(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是(A)A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是(D)A)0,0B)1,0C)3,2D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是(A )A)123.141593B)123.141593C)12,3.141593D)12 3.141593【解析】“%d%8.6f”原样输出,没有,也没有空格,所以x与y相连,小数总共8位,小数点之后6位#include <stdio.h>main(){double a=123.456;printf("%6.2f",a);}结果:123.46例题:int x;x=11/3;int y=5;printf("%%d,%%%d\n",x,y); 结果是:%d,%3【解析】"%%d,%%%d\n"原样输出,%%d中第一个%为转义字符,不是输出占位符,所以原样输出%d,然后%%转义只输出一个%,%d\n只有一个占位符,所以只输出x的值为3[3.5] 若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c);D)scanf(“ %d%d%d”,&a,&b,&c);【解析】scanf中赋值必须用&(取地址符),即将输入的字符放在指定位置中[3.6] 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c 赋予33,以下不正确的输入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 3333scanf(“ %f %f %f” ,&a,&b,&c);【解析】输入时可以空格可以回车,但是不可以出现,复合语句:多个语句被{}括起来,当成一条语句来执行。

C语言重点[1][2]

C语言重点[1][2]

1.设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是(A)A、*p=5;B、*q=2;C、p=1;D、q=p;2. C语言中函数调用的方式有(C)。

A、函数调用作为语句或函数表达式两种B、函数调用作为语句一种C、函数调用作为语句、函数表达式或函数参数三种D、函数调用作为函数表达式一种3. 已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表(D)。

A、一个文件指针,指向要读的文件B、一个存储区,存放要读的数据项C、一个整数,代表要读入的数据项总数D、一个指针,指向要读入数据的存放地址4. 以下程序段的输出是(C)int x = 496;printf(“*%-06d*\n”, x);A、*000496*B、* 496*C、*496 *D、输出格式不合法5. 一个C语言程序是由(C)。

A、一个主程序和若干子程序组成B、若干子程序组成C、函数组成D、若干过程组成6. 下列四组选项中,均不是C语言关键字的选项是(A)。

A、define IF typeB、include scanf caseC、while go powD、getc char printf7. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(C)。

A、n=*q;B、p=q;C、p=n;D、*p=*q;8. 以下程序的输出结果是Bvoid prtv(int *x){ printf(“%d\n”, ++*x); }main(){ int a = 25;prtv(&a);}A、24B、26C、23D、259. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性描述错误是(B)。

A、有穷性B、有零个或多个输出C、可行性D、有零个或多个输入10. 以下叙述中正确的是(A)。

A、宏替换不占用运行时间,只占编译时间B、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045C、在程序的一行上可以出现多个有效的预处理命令行D、使用带参的宏时,参数的类型应与宏定义时的一致11. fgetc函数的作用是从指定文件读入一个字符,该文件打开方式必须是(D)。

C语言基础选择题100道(附答案)01

C语言基础选择题100道(附答案)01

C语⾔基础选择题100道(附答案)011. 以下选项中可⽤作 C 语⾔合法⽤户标识符的是A) 2aB)voidC)-abcD) _123答案:D2. 以下选项中合法的 C 语⾔赋值语句是A)++i;B)a=b=34C)a=3,b=9D)k=int( a+b );答案:A3. 有以下程序段,其中的变量已定义为 int 类型sum = pad = 5; pAd = sum++, pAd++, ++pAd;printf( “%d\n”, pad );程序段的输出结果是A)4B)5C)6D)7答案:B4. sizeof( double ) 是A)⼀个整型表达式B)⼀个函数调⽤C)⼀个双精度表达式D)不合法的表达形式答案:A5. 有以下程序#include <stdio.h>main(){int a=2, c=5;printf(“a=%%d,b=%%d\n”, a, c );}程序运⾏后的输出结果是A)a=%d,b=%dB)a=%2,b=%5C)a=%%d,b=%%dD)a=2,b=5答案:A6. 有以下程序#include <stdio.h>#include <math.h>main(){int a=1, b=4, c=2;double x=10.5, y=4.0, z;z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;printf("%f\n", z);}程序运⾏后的输出结果是程序运⾏后的输出结果是A)13.700000B)14.000000C)15.400000D)14.900000答案:A7. 若有定义语句:int a=12;,则执⾏语句:a+= a-= a*a;后,a的值是A)264B)552C)144D)-264答案:D8. C 语⾔程序的模块化是通过以下哪个选项实现的A)变量B)语句C)函数D)程序⾏答案:C9. A)1.0/a/b/cB)1/(a b c)C)1.0/a b cD)1/a/b/(double)c答案:A10. 有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d\n", ++x, y–);}程序运⾏后的输出结果是A) 10,9B)11,10C)010,9D) 9,10答案:D11. 以下选项中叙述正确的是A)C 语⾔的标识符可分为关键字、预定义标识符和⽤户标识符三类B)C 语⾔的标识符可分为语句、变量和关键字三类C)C 语⾔的标识符可分为函数名、变量和预定义标识符三类D)C 语⾔的标识符可分为运算符、⽤户标识符和关键字三类答案:A12. 以下选项中叙述正确的是A)函数体必须由 { 开始B)C 程序必须由 main 语句开始C)C 程序中的注释可以嵌套D)C 程序中的注释必须在⼀⾏完成答案:A13. 以下选项中叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔源程序不编译也能直接运⾏C)使⽤ N-S 流程图不能描述复杂算法D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换答案:A14. 以下选项中叙述正确的是A)使⽤三种基本结构就可以实现任何复杂算法B)只要程序包含了三种基本结构中的任意⼀种,就是结构化程序C)程序语法错误要在运⾏时才能发现D)可运⾏ C 语⾔程序不需要包含 main()函数答案:A15. 以下选项中,合法的 C 语⾔常量是A) "\2.0B)‘C++’C) 1.234D)2Kb答案:C16. 以下选项中,合法的 C 语⾔实数是A).2e0B)3.1e0.4C)E13D)7.12E答案:A17. 设 a,b,c 是整型变量且均已赋值,则以下选项中错误的是A)a = (b = 3) = 1;B)a = (b = 2) + c;C)a = b = c + 10;D)a = 1 + (b = c = 2);答案:A18. 有如下程序#include <stdio.h>main(){int x = 072;printf("%d\n", x+1);}程序运⾏后的输出结果是A)72B)73C)115D)59答案:D19. 以下选项中叙述正确的是A)C 程序中的语句要经过编译才能转换成⼆进制机器指令B)算法需要包含所有三种基本结构C)有些算法不能⽤三种基本结构来表达D)简单算法的操作步骤不能超过 20 步答案:A20. 以下选项中叙述正确的是A)复杂任务可以分解成简单⼦任务B)C 语⾔程序中的所有函数必须保存在同⼀个源⽂件中C)全部三种基本结构都包含的才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A21. 以下选项中,合法的数值型常量是A) 092B)“A”B)“A”C) 3.1415D)0xDH答案:C22. 以下选项中,合法的实数是A) E1.3B) 4.5E2C)7.11ED)1.2E1.2答案:B23. 若有定义 int a, b, c; 以下选项中的赋值语句正确的是A)a = (b = c) + 1;B)(a = b) = c = 1;C)a = (b == c) = 1;D)a + b = c;答案:A24. 有如下程序#include <stdio.h>main(){int x = 0x13;printf("%d\n", x+1);}程序运⾏后的输出结果是A)13B)14C)12D)20答案:D25. 以下叙述中错误的是A)书写风格良好的程序执⾏效率⾼B)书写风格良好的程序易读性好C)C 程序可以在⼀⾏上写多条语句D)C 程序允许将⼀条语句分写在多⾏上答案:A26. 以下选项中不能正确表⽰数值 10000 的实型常量是A)1.0E4.0B)1.E4C)10E3D)1.0e4答案:A27. 设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其它三个不同的是A) a=b=cB) b=a= =cC)a=c= =bD)c=a!=c答案:B28. 设有两⾏定义语句:int scanf;float case;则以下叙述正确的是A)第 1 ⾏语句不合法B)两⾏定义语句都合法C)第 2 ⾏语句不合法D)两⾏定义语句都不合法答案:C29. 设有定义:double x=2.12;,以下不能完整输出变量 x 值的语句是A)printf(“x=%5.0f\n”,x);B)printf(“x=%f\n”,x);C)printf(“x=%lf\n”,x);D)printf(“x=%0.5f\n”,x);答案:A30. 设有定义:int a,b; float x; ,则以下选项中对语句所作的注释叙述错误的是A)scanf("%d%d%f",&a,&b); /* 多余的格式符%f 完全不起作⽤ /B)scanf("%d%d",&a,&b,&x); / 多余的输⼊项不能获得输⼊数据 /C)scanf("%d%f%d",&a,&b,&x); / 输⼊项与格式符类型不匹配,变量 b 和 x 得不到正确的输⼊数据 /D)scanf(“Input:%d%d”,&a,&b); / 格式串中允许加⼊格式符以外的字符串 */答案:A31. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是A)三种基本结构不可以嵌套使⽤B)顺序结构是按语句在程序中的先后顺序逐条执⾏,没有分⽀,没有转移C)选择结构是根据条件决定执⾏不同分⽀中的语句D)循环结构是根据条件决定是否重复、重复执⾏多少次循环体语句答案:A32. 以下能正确表述算式 sin(2πr+30°)的 C 语⾔表达式是A)sin(23.14r+3.1430/180.0)B)sin(2πr+ 30 )C)sin(23.14r+ 30 )D)sin(23.14r+303.14/360.0)答案:A33. 设有定义:int x=11,y=12,z=0;,以下表达式值不等于 12 的 是A) (z,x,y)B)(z=x,y)C)z=(x,y)D) z=(x==y)答案:D34. 以下可以将任意⼀个两位整数n的个位数与⼗位数对换的表达式为A)(n-n/10*10)10+n/10B)n-n/1010+n/10C)n/10+(n-n/10)D)(n-n/10)*10+(n/10)答案:A35. 设有以下程序段int y;y=rand() % 30+1;则变量 y 的取值范围是A) 1<y<30B)0≤y≤30C) 0<y≤30D)1<y≤30答案:C36. 以下程序段中,循环次数不超过 10 的是A)int i=10; do{ i=i+1;} while(i<0);B)int i=5; do{ i+=1;} while(i>0);C)int i=1; do{ i+=2;} while(i!=10);D)int i=6; do{ i-=2;} while(i!=1);答案:A37. 以下叙述正确的是A)计算机只接收由 0 和 1 代码组成的⼆进制指令或数据B)计算机只接收由 0 和 1 代码组成的⼗进制指令或数据C)计算机可直接接收并运⾏ C 源程序D)计算机可直接接收并运⾏任意⾼级语⾔编写的源程序答案:A38. 简单程序设计步骤中不包括A)编码B)确定算法C)安装编译程序D)调试答案:C39. 关于 C 语⾔标识符,以下叙述错误的是A)标识符可全部由数字组成B)标识符可全部由下划线组成C)标识符可全部由⼩写字母组成D)标识符可全部由⼤写字母组成答案:A40. 若有 C 语⾔表达式 2+34+7/3,则以下选项中关于执⾏顺序的叙述,正确的是A)先执⾏ 34 得 12,再执⾏ 2+12 得 14,再执⾏ 7/3 得 2,最后执⾏ 14+2 得 16B)先执⾏ 34 得 12,再执⾏ 7/3 得 2.5,最后执⾏ 2+12+2.5 得16.5C)先执⾏ 7/3 得 2,再执⾏ 34 得 12,再执⾏ 12+2 得 14,最后执⾏ 2+14 得 16D)先执⾏ 2+3 得 5,再执⾏ 5*4 得 20,再执⾏ 20+7 得 27,最后执⾏ 27/3 得 9答案:A41. 若想给已定义为 int 型的变量 a,b,c,d 赋值为 1,以下选项中错误的语句是A)a=b, b=c, c=d, d=1;B)a=b=c=d=1;C)a=1, b=a, c=b, d=c;D)d=1, c=d, b=c, a=b;答案:A42. 若有定义:char c; int d; 程序运⾏时输⼊:c=1,d=2<回车>,能把字符 1 输⼊给变量 c、整数 2 输⼊给变量 d 的输⼊语句是A)scanf(“c=%c,d=%d”, &c,&d);B)scanf(“c=%c d=%d”, &c,&d);C)scanf(“c=%d,d=%d”, &c,&d);D)scanf(“c=%d d=%d”, &c,&d);答案:A43. 以下叙述正确的是A) C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.exe 的可执⾏⽂件B)C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.obj 的⼆进制⽂件C)C 编译程序把⽂件后缀为.obj 的⼆进制⽂件编译成⽂件后缀为.exe 的可执⾏⽂件D)链接程序把⽂件后缀为.c 的源程序⽂件链接成⽂件后缀为.exe的可执⾏⽂件答案:B44. 算法应当具有的特性不包括A) 确定性B)有穷性C)美观性D)可⾏性答案:C45. 以下不属于 C 语⾔整数的是A)12fB)25uC)-32D)+20L答案:A46. 有 C 语⾔表达式 23+4+15%3 ,关于其执⾏顺序,以下叙述正确的是A)先执⾏ 23 得 6,再执⾏ 6+4 得 10,再执⾏ 15%3 得 0,最后执⾏ 10+0 得 10B)先执⾏ 23 得 6,再执⾏ 15%3 得 5,最后执⾏ 6+4+5 得 15C)先执⾏ 15%3 得 0,再执⾏ 23 得 6,最后执⾏ 6+4+0 得 10D)先执⾏ 15%3 得 3,再执⾏ 4+3 得 7,再执⾏ 2*3 得 6,最后执⾏ 6+7 得 13答案:A47. 若想给已定义为 int 型的变量 a、b、c、d 赋整数 1,以下选项中错误的语句是A)d=c, c=b, b=a, a=1;B)d=c=b=a=1;C)d=(b=c=(a=1));D)d=1, c=d, b=c, a=b;答案:A48. 若有定义:int a; float b; double c; ,程序运⾏时输⼊:1,2,3<回车>,能把 1 输⼊给变量 a、2 输⼊给变量 b、3 输⼊给变量 c 的输⼊语句是A) scanf("%d,%f,%f", &a,&b,&c);B)scanf("%d%f%lf", &a,&b,&c);C)scanf("%d,%lf,%lf", &a,&b,&c);D) scanf("%d,%f,%lf", &a,&b,&c);答案:D49. 以下叙述正确的是A)循环结构、选择结构、顺序结构都是结构化程序的基本结构B)计算机可以直接执⾏ C 语⾔程序,不需要做任何转换C)过于复杂的算法不能使⽤ N-S 流程图描述D)只有不超过 20 步操作步骤的算法才是简单算法答案:A答案:A50. 以下叙述正确的是A) C 语⾔程序并不是必须要定义 main()函数B)只使⽤三种基本结构即可解决任何复杂问题C)只要程序包含了任意⼀种基本结构,就肯定是结构化程序D)程序中的语法错误只有在运⾏时才能显现答案:B51. 以下选项中,合法的 C 语⾔常量是A) 2MBB)‘CPP’C)"\1.0D) 21.84答案:D52. 以下选项中,合法的 C 语⾔实数是A).1e0B)E1C)0.10ED)2.1e0.2答案:A53. 设 a,b,c 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是A)a = 2 = (b = 9) = 1;B)a = (b = 3) * c;C)a = b = c / 10;D)a = 1 % (b = c = 2);答案:A54. 有如下程序#include <stdio.h>main( ) {int x = 072;printf(“X=%d\n”, x+1);}程序运⾏后的输出结果是A) X=73B) X=59C)X=115D)X=72答案:B55. 下⾯叙述正确的是A)C 语⾔程序的语句经过编译和链接转换成⼆进制机器指令后才能执⾏B)任何算法需要包含三种基本结构中的两种以上C)复杂算法是不能⽤三种基本结构来表达的D)只要是简单算法,它的操作步骤都不会超过 20 步答案:A56. 下⾯叙述正确的是A)任何复杂任务都可以分解成简单⼦任务B)C 语⾔程序的所有函数只能处于同⼀个源⽂件中C)包含全部三种基本结构的程序才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A57. 以下选项中,合法的数值型常量是A) ‘X’B) 3.2B) 3.2C)099D)0xEH答案:B58. 以下选项中,合法的实数是A) 1.9E1.4B)E1.1C)2.10ED) 1.5E2答案:D59. 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值语句是A)a = (b = c) + 8;B)(a = b) = c = 9;C)a = (b == c) = ‘A’;D)a + b = c + 1;答案:A60. 有以下程序#include <stdio.h>main( ) {int x = 0x13;printf(“INT:%d\n”, x+1);}程序运⾏后的输出结果是A) INT:12B)INT:13C) INT:20D)INT:14答案:C61. 关于程序设计基本概念,以下叙述错误的是A)计算机可以直接执⾏由任意⾼级语⾔编写的程序B)⾼级语⾔都有与之对应的编译程序或解释程序C)⽤任何⼀种计算机⾼级语⾔都可以把算法转换为程序D)结构化算法可以解决任何复杂的问题答案:A62. 关于程序中的注释,以下叙述正确的是A) 注释中间可以嵌套另⼀个注释B)注释必须置于所说明的语句前或语句后C)注释的内容必须放在/* 和 */之间D)注释内容错误会导致编译出错答案:C63. 以下不能⽤于实型数据的运算符是A) +B)/C)*D) %答案:D64. 以下选项中,与 n=i++ 完全等价的表达式是A)n=i,i=i+1B)n+=i+1C)i=i+1,n=iD)n=++i答案:A65. 以下表达式的值与 x ⽆关、其值恒为真的是A)0 < x < 5B)x>10 && x<5C)x>10 || x<5D)x<10 && x>5答案:A66. 设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将m 中的数值保留⼩数点后两位,第三位进⾏四舍五⼊运算的表达式是A)n=m100+0.5, m=n/100.0B)m=(m100+0.5)/100.0C)n=m/100+0.5, m=n100.0D)m=m100+0.5/100.0答案:A67. 以下叙述正确的是A) 函数体内的定义语句和可执⾏语句允许任意交替出现B)main()函数若不带参数,其后⾯的⼀对圆括号可省略C) C 程序总是以 main()作为程序执⾏的起始⾏D)C 语⾔中的语句之间必须⽤分号作为分隔符答案:C68. C 语⾔中的基本数据类型包括A)整型、实型、字符型B)整型、字符型、数组C)整型、实型、逻辑型D)整型、实型、结构体答案:A69. 以下不正确的定义语句是A) long b=0L;B) unsigned int a= -100u;C)short c2=0123;D)int d=0x0;答案:B70. 以下⾮法的字符常量是A)’\n’B)’\101’C)’\x21’D)’\0’答案:A71. 设有定义:int x=7,y=12;,则以下表达式值为 3 的是A)(y%=x)-(x%=5)B)y%=(x%=5)C)y%=x-x%5D)y%=(x-x%5)答案:A72. 设有定义:int n = 1234;double x = 3.1415;则语句: printf("%3d,%1.3f\n", n, x); 的输出结果是A) 1234,3.141B)123,3.142C) 1234,3.142D)123,3.141答案:C73. 以下叙述错误的是A)任何能通过编译和运⾏的算法都⼀定能得到所期望的结果B)⼀个算法所包含的操作步骤应该是有限的C)算法中每⼀条指令必须有确切的含义D)算法可以⽤各种描述⽅法来进⾏描述答案:A74. 关于程序模块化,以下叙述错误的是A) 程序模块化可以提⾼调试程序的效率B)程序模块化可以提⾼程序编制的效率C)程序模块化可以提⾼程序代码复⽤率D)程序模块化可以提⾼程序运⾏的效率答案:D75. 以下是正确 C 语⾔标识符的是A)_3B)#3C)&3D)-3答案:A76. 以下是正确 C 语⾔实型常量的是A)1e-1B)e-1C)-1eD).e-1答案:A77. 若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的是A)int a=b=c=d=1;B)int a=1, b=1, c=1, d=1;C)int a,b,c,d; a=b=c=d=1;D)int a,b,c,d=1; a=b=c=d;答案:A78. 若有定义:char c; double d; 程序运⾏时输⼊:1 2<回车>,能把字符 1 输⼊给变量 c、数值 2 输⼊给变量 d 的输⼊语句是A)scanf("%c%lf", &c,&d);B)scanf("%d%lf", &c,&d);C)scanf("%c%f", &c,&d);D)scanf("%d%f", &c,&d);答案:A79. 以下叙述正确的是A)所有程序⾏都必须⽤分号结束B)C 语⾔程序由 C 语句组成,可以省略 main 函数C)分号是 C 语句之间的分隔符D) 在 C 语⾔中分号是语句的组成部分答案:D80. 以下叙述正确的是A) C 程序由函数组成,可以不包含 main 函数B)每个 C 程序⽂件中的 main 函数都应当放在最前⾯C)每个 C 程序⽂件都应当包含⼀个 main 函数D) 每个 C 程序都只能有⼀个 main 函数答案:D81. 若有定义:int a,b,c; 以下程序段的输出结果是a=11; b=3; c=0;printf("%d\n",c=(a/b,a%b));A)2B)0C)3D)1答案:A82. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运⾏后的输出结果是A)30B)28C)15D)14答案:B83. 若有定义:double a, b, c; 能正确给 a,b,c 输⼊数据的语句是A)scanf(" %lf %lf %lf",&a, &b, &c );B)scanf(" %f %f %f",&a, &b, &c );C)scanf(" %lf %lf %lf",a, b, c );D)scanf(" %lf %lf %lf"; *a, *b, *c );答案:A84. 输出语句:printf("%d\n",11+011);的输出结果是A)22B)20C)022D)021答案:B85. 以下叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔程序不编译也能直接运⾏C)有些算法不能⽤三种基本结构来表达D)如果 C 语⾔程序实现的算法很简单,则计算机不进⾏任何代码转换就能执⾏程序答案:A86. 以下叙述正确的是A)通过分解成简单⼦任务,可以完成任何复杂任务B)每个结构化程序都要包含全部三种基本结构C)C 语⾔程序的所有⾃定义函数只能写在同⼀个源⽂件中D)C 语⾔程序允许使⽤多个 main 函数,只要它们的函数体各不相同即可答案:A87. 以下选项中合法的 C 语⾔常量是A) 2EKB)‘C-STR’C)"\1.0D) 2014.1答案:D88. 以下选项中,合法的 C 语⾔实数是A).4e0B)4.3e0.2C)E4.8D)0.29E答案:A89. 设 a,b,c 已定义为整型变量,以下选项中不正确的赋值语句是A)a = 3 = (b = 2) = 1;B)a = (b = 0) * c + 1;C)a = b = c / 1.0;D)a = 10 % (b = c = 2.0);答案:A90. 有以下程序#include <stdio.h>main( ) { int x = 0x9;printf("%c\n", ‘A’+x);}程序运⾏后的输出结果是A)IB)JC)KD)H答案:B91. 以下叙述中错误的是A)计算机可以直接识别由⼗六进制代码构成的程序B)可以连续执⾏的指令的集合称为“程序”C)“程序”是⼈与计算机“对话”的语⾔D)计算机可以直接识别由 0 和 1 组成的机器语⾔代码答案:A92. 在传统流程图中,⽤来表⽰输⼊输出的图形是A) 椭圆形B)长⽅形C)菱形D)平⾏四边形答案:D93. 以下说法正确的是A)赋值语句是⼀种可执⾏语句,应当出现在函数的可执⾏部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执⾏D)赋值语句可以出现在源程序中的任意位置答案:A94. 若有定义: double x;,则表达式:x=0,x+10,x++ 的值是A)1.0B)10.0C)11.0D)0.0答案:D95. 若变量已正确定义并赋初值,以下合法的赋值语句是A)k=(m==n);B)k=int(m+n);C)k=-m-nD)k=m*n=1;答案:A96. 设有定义: double x=5.16894;,则语句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是A)5.16900B)5.16800C)0.00000D)输出格式说明符与输出项不匹配,产⽣错误信息答案:A97. 以下选项中不是 C 语⾔数据类型的是A) charB)floatC) stringD)int答案:C98. 以下选项中不能在 C 语⾔程序中⽤作⽤户标识符的是A) _3_14B)scanfC)FloatD) auto答案:D99. 以下选项中可⽤作 C 程序合法整数的是A)0x77B)1 2 (数字间有⼀个空格)C)xffD)018答案:A100. 以下选项中关于 C 语⾔算术表达式的叙述中错误的是A)C 语⾔仅提供了+、-、*、/ 这 4 个基本算术运算符B)C 语⾔采⽤的是⼈们熟悉的四则运算规则,即先乘除后加减C)算术表达式中,运算符两侧类型不同时,将进⾏类型之间的转换D)可以通过使⽤⼩括号来改变算术表达式中某些算术运算符的计算优先级答案:A。

c语言选择题(1)

c语言选择题(1)

1.以下运算符中优先级最低的是(C)。

A、&&B、|C、||D、&2.不合法的if语句是:(D)A、if(表达式) 语句1 else 语句2B、if(表达式) 语句C、if(表达式1)语句1 else if(表达式2)语句2 else 语句3。

D、if 关系表达式语句1 else 语句23.以下不是无限循环的语句为(D)。

A、while(1){x++;}B、for(;;x++=i);C、for(i=10;;i--) sum+=i;D、for(y=0,x=1;x>++y;x=i++) i=x;4.调用函数时,基本类型变量做函数参数, 实参和对应的形参(B).A、不占用存储单元B、各自占用独立的存储单元C、同名时才能共用存储单元D、共占用一个存储单元5.已知有宏定义#define F(a) a*(a+2),则F(4+3)的值为(D).A、24B、15C、63D、31a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是(D)A、for(i=1;i<11;i++)a[i]=i;B、for(i=1;i<11;i++)a[0]=1;C、for(i=1;i<11;i++)a[i+1]=i;D、for(i=1;i<11;i++)a[i-1]=i;7.若有说明:int a[3][4];则数组a中各元素(A)。

A 、不能得到确定的初值 B、可在程序的编译阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值08. 已定义float a; int i;选择正确的输入语句(C).A、scanf("%6.2f%3d", &a,&i);B、scanf("%f%s", &a,&i);C、scanf("%6f%3d",&a,&i);D、scanf("%f%d", a,i);9 执行下面程序段后,k的值是:(B)int k=2;switch(k+1){ case 3:k+=1;case 4:k--;break;case 5:k*=3;case 6:++k;} A、10 B、2 C、28 b D、2711.以下程序段中,能够正确地执行循环的是(B)。

C语言-数据类型习题及答案

C语言-数据类型习题及答案

第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。

A)‘\t’B) “A” C)‘a’D)’\x32’2、合法的字符常量是(D)。

A)‘\084’B) ‘\84’ C)‘ab’D)’\x43’2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y234.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;11.(B)是非法的C语言转义字符。

A)‘\b’B)‘\0xf’ C)‘\037’ D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。

C语言语法基础 139道选择题

C语言语法基础  139道选择题

1...以下字符中,不正确的C语言转义字符是__B___。

A、′\n ′B、′\018′C、′\011′D、′\t ′2…下列说法中错误的是___D_____。

A、变量的定义可以不放在本编译单位中,而放在其他编译单位中B、变量的定义可以放在某个复合语句的开头C、变量的定义可以放在所有函数之外D、变量的定义可以放在函数的任何位置3...若有以下定义:char a;int b;float c;double d;则表达式 a * b+d -c 值的类型是____A____。

A、 doubleB、 intC、 floatD、 char4..C语言中运算对象必须是整型的运算符是____A____。

A、%B、**C、/D、sizeof()5..设有语句int b=′\123′,则变量b包含了_____D___个字符。

A、3B、2C、4D、16..sizeof(double)是___A_____。

A、一个整型表达式B、一个字符型表达式C、一个双精度型表达式D、一个不合法的表达式7.在下列标识符中,合法的C语言标识符是___B_____。

A、charB、sumC、2mD、m+28.下面关于C语言用户变量的定义与使用中,不正确的描述是__B______。

A、变量应先定义后使用B、通过类型转换可更改变量存储单元的大小C、系统在编译时为变量分配相应的存储单元D、变量按所定义的类型存放数据9.若变量已正确定义并赋值,合法的C语言表达式是___A_____。

A、 a=b=c+2B、 a=b+3=c+4C、 int 18.5% 3D、a:=b+110.以下关于C语言标识符的描述中,正确的是____C____。

A、关键字可以作为用户标识符B、标识符可以由汉字组成C、IF可以作为用户定义的合法标识符D、标识符只能以字母开头11.字符型常量在内存中存放的是该字符对应的__A______。

A、ASCII代码值B、BCD代码值C、十进制代码值D、内部码值12.下列叙述中正确的是___A_____。

C语言程序设计试题及答案解析[1]

C语言程序设计试题及答案解析[1]

C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x35、以下叙述不正确的是:()A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe11、若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);13、设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&15、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”19、表达式17%4 /8的值为:()A、0B、1C、2D、320、语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、121、一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号23、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double24、下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语30、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是31、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性32、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套33、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是34、C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp35、C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp36、下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数38、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、以下为C语句的是:()A.a=8 B.a++;C.if(a>8) D. #include <stdio.h> 以下不是C语句的是:()A.a=8; B.a++;C.if(a>8);D.for(i=1;i<5;i++) 42、以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

c语言选择题及填空010

c语言选择题及填空010

你所选择的答案是:,正确答案是:1 , ×
2. 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,按照scanf语句的格式输入数据应该是(
scanf("a=%s,b=%c",a,&b);
……
你所选择的答案是:,正确答案是:a=1234,b=5 , ×
C)100l, ChangRong, 1098.0 D)1002, zhangDa, 1202.0
你所选择的答案是:*,正确答案是:A ×
24. 有以下程序
#include <stdio.h>
main()
{ int a=2,b=2,c=2;
你所选择的答案是:*,正确答案是:D ×
7. 以下程序的输出结果是
#define M(x,y,z) x*y+z
main()
{ int a=1,b=2, c=3;
printf("%d\n", M(a+b,b+c, c+a));
}
A) 19
B) 17
C) 15
D) 执行1次
你所选择的答案是:*,正确答案是:A ×
3. 以下合法的赋值语句是
A) x=y=100
B) d--;
C) x+y;
D) c=int(a+b);
你所选择的答案是:*,正确答案是:B ×
4. 设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为
D) 12

c语言 100题

c语言 100题

c语言100题1. 构成C语言程序的基本单位是()。

A.函数B.变量C.子程序D.语句是不正确的转义字符。

2. C语言规定:在一个源程序中,main()函数的位置()。

A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后3. 下列哪个选项能够正确地声明一个指向整型变量的指针?A) int *ptr;B) int ptr;C) int ptr;D) int ptr;4.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符()。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种5. C语言中的简单数据类型有()。

A.整型、实型、逻辑型B.整型、字符型、逻辑型C.整型、实型、字符型D.整型、实型、字符型、逻辑型6. 以下选项中,不正确的整型常量是()。

A.-37B.32,758C.326D.67.以下选项中,不正确的实型常量是()。

A.123B.1e4C.3.640E-1D.0.358.以下选项中,合法的C语言赋值语句是()。

A.a=b=34B.a=34,b=34C.-i;D.m=(int)(x+y);9.设int类型的数据长度为两个字节,则unsigned int类型数据的取值范围是()。

A.0~255B.0~65535C.-32768~32767D.-256~25510.在C语言中,下列哪个函数用于将整数转换为字符串?A) itoa()B) atoi()C) to_string()D) intstr()11.以下叙述中,不正确的是()。

A.在C程序中,%是只能用于整数运算的运算符B.在C程序中,无论是整数还是实数,都能准确无误地表示C.若a是实型变量,C程序中a=20是正确的,因此实型变量允许被整型数赋值D.前缀和后缀运算符,作为表达式来说有不同的作用12.设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&(n=c>d)运算后,n的值为()。

c语言试题库简单选择题

c语言试题库简单选择题

1.下列语句中符合C语言语法的赋值语句是(A) a=7+b+c=a+7; (B) a=7+b++=a+7; (C) a=7+b,b++,a+7 (D) a=7+b,c=a+7;2.在C语言中,要求运算数必须是整型的运算符是(A) % (B) / (C) < (D) !3.以下有4组用户标识符,其中合法的一组是(A) For (B) 4d (C) f2_G3 (D) WORD4. 在C语言中,形参的缺省存储类是(A) auto (B) register (C) static (D) extern5. 以下不能正确进行字符串赋初值的语句是(A) char str[5]="good!"; (B) char str[]="good!";(C) char *str="good!"; (D) char str[5]={‘g',‘o',‘o',‘d'};6.若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为(A)无确定值(B) a的地址(C) 512 (D) 5117.以下程序中,while循环的循环次数是Dmain(){ int i=0;while(i<10){ if(i<1) continue;if(I==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D)死循环,不能确定次数8.假定x和y为double型,则表达式x=2,y=x+3/2的值是(A) 3.500000 (B) 3 (C) 2.000000 (D) 3.0000009.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(A)地址传递(B)单向值传递(C)由实参传给形参,再由形参传回实参(D)传递方式由用户指定10. 已知字母A的ASCⅡ码为十进制的65,下面程序的输出是(A) 67,D (B) B,C (C) C,D (D)不确定的值main(){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';PRINTF("%d,%c\n",ch1,ch2);}11.下面程序的输出是(A) 0 (B) 1 (C) 3 (D)不确定的值main(){ int x=10,y=3;printf("%d\n",y=x/y);}12.若执行下面的程序时从键盘上输入3和4,则输出是(A) 14 (B) 16 (C) 18 (D) 20main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a5) printf("%d\n",x);else printf("%d\n,x--);}13.下面程序的输出是(A) 3 (B) 4 (C) 1 (D) 2main(){ int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}14.执行下面程序中输出语句后,a的值是(A) 65 (B) 20 (C) 15 (D) 10main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}15.下面程序的输出是(A) 0 1 2 3 (B) 0 4 0 10 (C) 0 4 5 15 (D) 1 4 5 15main(){ enum team { my,your=4,his,her=eis+10};printf("%d%d%d%d\n",my,your,his,her);}16.下面程序的输出是(A) 0 0 3 (B) 0 1 2 (C) 1 0 3 (D) 1 1 2main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d%d%d%\n",k,a,b);}17.下列函数的功能是(A)求字符串的长度(B)比较两个字符串的大小(C)将字符串X复制到字符串Y (D)将字符串X连接到字符串Y后面int fun1(chat* x){char*y=x;while(*y++);return(y-x-1);}18.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof( fp)的返回是(A)EOF (B)-1 (C)非零值(D)NULL19.根据下面的定义,能印出字母M的语句是(A)printf("%c\n",class[3].name);(B)printf("%c\n",class[3].name[1]);(C)printf("%c\n",class[2].name[1]);(D)printf("%c\n",clsaa[2].name[0]);struct person{ char name[9]; int age; };struct person class[10]={"john",17,"paul",19,"mary",18,"adam",16};20.下列关于C语言数据文件的叙述中正确的是(A)文件由ASCII码字符序列组成,C语言只能读写文本文件(B)文件由二进制数据序列组成,C语言只能读写二进制文件(C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件(D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件21.C语言提供的合法的数据类型关键字是(A)Double (B)short (C)integer (D)Char22.在C语言中,合法的长整型常数是(A)0L (B)4962710 (C)0.054838743 (D)2.1869e1023.表达式:10!=9的值是(A)true (B)非零值(C)0 (D)124.合法的C语言中,合法的长整型常数是(A)'\t' (B)"A" (C)65 (D)A25.若有说明和语句:int a=5;a++;此处表达式a++的值是(A)(A)7 (B)6 (C)5 (D)426.C语言中最简单的数据类型包括(A)整型、实型、逻辑型(B)整型、实型、字符型(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型27.为表示关系x大于等于y大于等于z,应使用C语言表达式(A)(x>=Y)&&(Y>=z) (B)(x>=Y)AND(y>=z) (C)(x>=Y>=z) (D)(x>=Y)&(Y>=z)28.下列对C语言字符数组的描述中错误的是(A)字符数组可以存放字符串(B)字符数组中的字符串可以整体输入、输出(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值(D)不可以用关系运算符对字符数组中的字符串进行比较29.以下说法中正确的是(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分30.在下列选项中,不正确的赋值语句是(A)++t; (B)n1=(n2=(n3=0));(C)k=i==j; (D)a=b+c=1;31.若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是(A)I= *P; (B)*P=*&J; (C)i=&j; (D)i=* *p;32.不能把字符串:Hello!赋给数组b的语句是(A)char b[10]={'H','e','l','l','o','!'};(B)char b[10];b="Hello!";(C)char b[10];strcpy(b,"Hello!");(D)char b[10]="Hello!";33.若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是(A)a[g-c] (B)a[4] (C)a['d'-'c'] (D)a['d'-c]34.若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+535.若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是(A)*w[1]+1 (B)p++,*(p+1)(C)w[2][2] (D)p[1][1]36.若程序中有下面的说明和定义struct abc{int x;char y;}struct abc s1,s2;则会发生的情况是(A)编译进错(B)程序将顺利编译`连接`执行(C)能顺利通过编译`连接`但不能执行(D)能顺利通过编译`但连接出错37.能正确表示a≥10或a≤0的关系表达式是(A)a>=10 or a<=0 (B)a>=10│a<=0(C)a>=10││a<=0 (D)a>=10 ││a<=038.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是(A)循环控制表达式的值为0 (B)循环控制表达式的值为1(C)循环控制表达式不合法(D)以上说法都不对39.下列程序的输出结果是(A) 5 (B) 6 (C) 7 (D) 8struct abc{ int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t;t=s[0],a+s[1],b;printf("%d \n",t);}40.有以下程序#include <stdio.h>main(){ printf("%d\n",NULL); }程序运行后的输出结果是(A)0 (B)1 (C)-1 (D)NULL没定义,出错41.C语言源程序名的后缀是(A).exe (B).C (C).obj (D).cp42.可在C程序中用做用户标识符的一组标识符是(A)and (B)Date (C)Hi (D)case43.以下选项中,合法的一组C语言数值常量是(A)028 (B)12. (C).177 (D)0x8A44.以下叙述中正确的是(A)C语言程序将从源程序中第一个函数开始执行(B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(D)main可作为用户标识符,用以命名任意一个函数作为主函数45.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是(A)scanf("%d",a,b,c); (B)scanf("%d%d%d",a,b,c);(C)scanf("%d",p); (D)scanf("%d",&p);46.以下关于long、int和short类型数据占用内存大小的叙述中正确的是(A)均占4个字节(B)根据数据的大小来决定所占内存的字节数(C)由用户自己定义(D)由C语言编译系统决定47.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B)x=n%2.5; (C)x+n=I; (D)x=5=4+1;48.有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为(A)55566.0 (B)566.0 (C)7777.0 (D)566777.049.若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是(B)。

C语言习题

C语言习题

第2章数据类型、运算符和表达式重点和难点:理解c语言中的各种数据类型以及变量的含义,掌握变量的定义;理解各种类型的运算符和表达式的含义及用法。

一、选择题1、以下定义语句中正确的是()A) double a;b; B) double a=b=7;C) double a=7,b=7;D)doublea,b;2、以下合法的字符型常量是()A) ...\x13‟B) (081)C) …65‟D)”\n”3、以下选项中不合法的标识符是()A) print B) FORC) &a D)_004、若变量均已正确定义并赋值,以下合法的c语言赋值语句是()A) x=y==5 B) x=n%3.2C) x+n=4 D)x=5=4+15、设有定义:int k=0;,以下选项中的四个表达式中与其它三个表达式的值不同的是()A) k++ B) k+1C) ++k D) k+=16、以下选项中,当x为大于1的奇数时,值为0的表达式是()A) x%2==1 B)x/2C) x%2!=0 D)x%2==07、下列定义变量的语句中错误的是()A) int _int; B) double int;C)char For; D)float US$8、设f为实型变量,下列表达式中不是逗号表达式的是()A) f=3,5,4 B)f=(3,2,1,0)C) f>=3,f<2,0 D) f=2,f=19、设有定义:float a=2,b=4,h=3;,以下c语言表达式中与代数式(a+b)h/2计算结果不相符的是()A) (a+b)*h/2 B)(1/2)*(a+b)*hC) (a+b)*h*1/2 D) h/2*(a+b)10、以下符合c语言语法的实型常量是()A) 1.2E0.5 B)3.14159EC) .5E-3 D)E1511、若有表达式(w)?(--x)(++y),以下与w等价的表达式是()A)w==1 B)w==0C)w!=1 D)w!=012、c语言中最基本的数据类型包括()A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 实型、字符型、逻辑型13、若变量已正确定义并赋值,以下符合c语言语法的表达式是()A) a:=b+1 B) a=b=c+2C) int 18.5%3 D)a=a+7=c+b14、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是A)(!a==1)&&(!b==0) B)(a<B)&& !c||1C)a && b D)a||(b+b)&&(c-a)15、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为()A) d B) 68 C) 不确定的值D) C16、设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为()A) float B) char C) int D) double17、设C语言中,一个short int型数据在内存中占2个字节,则unsigned short int 型数据的取值范围为()。

2022-2023学年吉林省辽源市全国计算机等级考试C语言程序设计真题一卷(含答案)

2022-2023学年吉林省辽源市全国计算机等级考试C语言程序设计真题一卷(含答案)

2022-2023学年吉林省辽源市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.2.健壮的算法不会因非法的输入数据而出现莫名其妙的状态()A.对B.错3.以下叙述中错误的是()。

A.形参可以是常量、变量或表达式B.实参可以是常量、变量或表达式C.实参的类型应与形参的类型赋值兼容D.实参的个数应与形参的个数一致4.5.若有定义:int*p[3];,则以下叙述中正确的是()。

A.定义了一个基类型为int的指针变量p,该变量具有三个指针B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素6. 在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的。

”这一性质指的是对象的A.分类性B.标识惟一性C.多态性D.封装性7.以下程序的输出结果是()。

main(){int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}A.18B.19C.20D.218.9.有下列程序:main{ int y=10;do{y--;}while(--y);printf("%d\n",--y);)当执行程序时,输出的结果是( )。

A.-1B.1C.4D.010.若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:11. 若有如下程序:main() {int a=0,t=0;while(!a!=0) t+=a++;printf("%d,%d\n",t,A) ;} 则程序运行后的输出结果是( )A.0,1B.1,0C.0,0D.1,112.下列关于C语言文件的叙述中正确的是()。

以下符合c语言语法的赋值表达式是

以下符合c语言语法的赋值表达式是

以下符合c语言语法的赋值表达式是C语言是一门通用的、结构化的编程语言,它适用于编写操作系统、嵌入式设备以及应用程序。

C语言拥有清晰的语法,具有易于理解和使用的特性,还拥有很多强大的特性,能够完成复杂的任务。

而在C语言中,赋值表达式是一种最基本的表达式,它用于把值赋给变量。

它是一种简单的表达式,它可以使用多种不同的语法。

C语言中以下符合语法的赋值表达式是:1.衡赋值表达式:平衡赋值表达式是平衡和简单的语法,它允许在右侧表达式中使用操作符,这些操作符在左侧赋值语句中也可以使用。

例如:int a = b + 5; // a等于b加52.值运算符:赋值运算符允许把右侧表达式的结果赋值给左侧的变量。

例如:int a = 10; // a等于10a += 5; // a等于10加5,即a等于153.合赋值运算符:复合赋值运算符允许在一行中进行多个赋值运算符操作,使用变量和常量进行算术操作时,也可以使用复合赋值运算符。

例如:int a = 10; // a等于10a += 5; // a等于15a -= 3; // a等于12a *= 2; // a等于244.增/递减语句:递增/递减语句是另一种简单的表达式,它可用于将左侧变量的值增加或减少指定的数量。

例如:int a = 10; // a等于10a++; // a等于11a--; // a等于10以上就是以下符合c语言语法的赋值表达式。

C语言中还有许多其他类型的表达式,但上面介绍的几种赋值表达式是一些最常用的表达式。

因此,熟悉这些表达式的语法能够帮助我们更有效地完成C语言的编程任务。

C语音参考题(含答案)

C语音参考题(含答案)

3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。

★要通过这些典型题目,掌握复习要点中所列内容。

所给题目不可死记硬背,而是通过题目掌握其涉及要点和重要算法。

一、单项选择题1.C程序的基本构成单位是【C 】A)文件B)命令C)函数D)语句2.下列叙述中错误的是【C 】A)C程序中main( )函数的位置可以任意B)C程序可以由多个程序文件组成, 而一个程序文件又可以由一个或多个函数组成C)每个程序文件都有一个main( )函数D)C程序总是从main( )开始执行,也是由它结束3.将C源程序转换为目标程序的过程称为【B 】A)编辑B)编译C)连接D)运行4.C语言中最基本的数据类型包括【B 】A)整型、实型、逻辑型B)整型、实型、字符型C)整型、逻辑型、字符型D)整型、实型、字符串型5.以下不合法的用户标识符是【C 】A)j2_KEY B)Double C)4d D)_8_6.C源程序中不能表示的数制是【A 】A)二进制B)八进制C)十进制D)十六进制7.以下合法的字符常量的是【A 】A)'\x13' B)'\081' C)'65' D)"\n "8.以下选项中,能用作数据常量的是【D 】A)o115 B)0118 C)1.5e1.5 D)115L9.C语言中,要求运算对象必须是整型数据的运算符是【A 】A)% B)/ C)\ D)&&10.表示数学关系“x≥y≥z”的C语言表达式是【C 】A)x>=y>=z B)x>=y || y>=z C)x>=y&&y>=z D)x≥y≥z11.若变量均已正确定义并赋值,以下合法的C语言赋值语句是【A 】A)x=y==5; B)x=n%2.5; C)x+n=j; D)x=5=4+1;12.设有定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是【A 】A)k++ B)k+=1 C)++k D)k+113.若有代数式:以下错误的C语言表达式是【 C 】A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*314.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为【C 】A)int B)float C)double D)不确定15.若p和x已经正确定义,x已赋值,并且p=&x,则下列关系表达式之值为1的是【B】A)p==x B)*p==x C)&p==x D)*x==p16.当用户要求输入的字符串中含有空格时,应使用的输入函数是【C 】A)scanf() B)getchar() C)gets() D)getc()17.下列能输出字符数组str中字符串的语句是【B 】A)printf("%c",str[0]); B)printf("%s",str);C)printf("%s",str[]); D)putchar(str);18.有输入语句:scanf("%d,%d",&a,&b);为使变量a、b分别为5和3,从键盘输入数据的正确形式为【 B 】A)5 3<回车> B)5,3<回车> C)a=5 b=3<回车> D)a=5,b=3<回车> 19.定义如下变量和数组:int j;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是【 C 】for(j=2; j>=0; j--)printf("%2d",x[j][2-j]);A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 920.执行下面程序后,a的值是【B 】#define SQR(x) x*xvoid main( ){ int a=10,k=2,m=1;a=SQR(k+m);printf("%d\n",a);}A)10 B)5 C)2 D)121.简单if语句的基本形式:if(表达式)语句【D 】其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式22.在嵌套使用if语句时,C语言规定else总是【C 】A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对23.下列叙述中正确的是【D 】A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句24.有以下程序段:x=-1;dox=x*x;while(!x);执行时,循环体执行的次数为【B 】A)0 B)1 C)2 D)不确定25.以下不正确的if语句形式是【C 】A)if(x>y&&x!=y); B)if(x==y) x+=y;C)if(x!=y) scanf("%d",&x) else scanf("%d",&y); D)if(x<y) {x++;y++;}26.以下程序的输出结果是【C 】void main( ){ int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf("%d\n",z);}A)0 B)1 C)2 D)327.以下能正确计算1×2×3×…×10的程序段是【A 】A)i=1,s=1; B) s=1;i=1;do while(i<=10){s=s*i;i++;} s=s*(++i);while(i<11);C)for(i=1,s=0;i<=10;i++) D) for(i=1,s=1;;i++)s=s*i; s=s*i;28.若j为整型变量,则以下循环执行次数是【C 】for(j=0;j==0;) printf("%d",j--);A)无限次B)0次C)1次D)2次29.若有说明:int a[10];则对a数组元素的正确引用是【C 】A)a[3.5] B)a(8) C)a[6-5] D)a[10]30.若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则错误引用x 数组元素的是【B 】A)*p B)x[5] C)*(p+1) D)*x31.C中,一个char类型的数据在内存中占用的字节数是【A 】A)1 B)2 C)4 D)832.设有程序段:int k=5;while (k<=0)k--;则下列描述中正确的是【 C 】A)while循环执行5次B)循环是无限循环C)循环语句一次也不执行D)循环体语句执行一次33.下面程序段的运行结果是【B 】char c[5]={ 'a', 'b', '\0', 'c', '\0' };printf(“%s”, c);A)'a''b' B)ab C)Abc D)"abc"34.以下不正确的字符串赋值语句是【C 】A)char *s; s="abcde"; B)char s[ ]="abcde";C)char s[10]; s="abcde"; D)char *s="abcde";35.设p1、p2是指向int型一维数组的指针变量,k为int型变量,以下错误的语句是【B 】A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=p2-p1;36.下面程序的输出结果是【A 】void main( ){ char s[]= "ABCD";char *p;for (p=s;p<s+4;p++)printf(“%s\n”, p);}A)ABCD B) A C)D D) ABCDBCD B C ABCCD C B ABD D A A37.以下关于C函数的定义和调用描述正确的是【B 】A)函数的定义可以嵌套,但函数的调用不可嵌套B)函数的调用可以嵌套,但函数的定义不可嵌套C)函数的定义和调用均可以嵌套D)函数的定义和调用均不可嵌套38.以下关于变量的存储类型和作用域说法错误的是【C 】A)函数内定义的变量默认存储类型为auto,函数调用结束时释放其值B)静态局部变量的生存期虽然被延长,但作用范围依然只限于所在函数内有效C)寄存器变量主要用于使用频度较高的变量,其资源依然使用计算机内存D)外部变量可以跨文件使用,但静态外部变量不允许跨文件使用39.以下关于变量的作用域叙述不正确的是【D 】A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)局部变量的作用范围仅限于其所在函数或复合语句D)全局变量的作用范围仅限于其所在的文件40.以下关于C函数参数说法不正确的是【B 】A)实参可以是常量、变量和表达式B)形参可以是常量、变量和表达式C)实参和形参可以为任意数据类型D)实参与对应的形参类型一致41.以下关于C函数返回值的叙述正确的是【D 】A)被调函数中只有使用return语句才能返回主调函数B)使用一个return语句可以返回多个函数值C)函数返回值类型取决于return语句中的表达式类型D)函数返回值类型取决于定义该函数时所指定的类型42.以下数组定义中错误的是【B 】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};43.若有定义语句:char s[10]="1234567\0\0";则strlen(s)的值是【A】A)7 B)8 C)9 D)1044.给定以下程序段:int n=10;while (n>6){ n--;printf(“%3d”,n);}以上程序段输出结果是【D】A)10 9 8 B)9 8 7 C)10 9 8 7 D)9 8 7 645.若i,j已定义为int型,则以下程序段中内循环总的执行次数是【C 】for (i=5; i>0; i--)for (j=1; j<6; j++){……}A)30 B)24 C)25 D)2046.若已定义:float *p, m=3.14159; 则使p指向m正确的赋值语句是【B 】A)p=m; B)p=&m; C)*p=m; D)*p=&m;47.若已定义:char s[10]; 则下面表达式中不能作为s[1]地址的是【A 】A)s++ B)s+1 C)&s[0]+1 D)&s[1]48.已知:int a=3, b=5, t; 要将a和b中的数值进行交换,错误..的程序段是【C 】A)a=a+b; b=a-b; a=a-b; B)t=a; a=b; b=t;C)t=a; b=a; a=t; D)t=b; b=a; a=t;49.关于C程序中的#include <math.h>,错误..的描述是【 D 】A)它是C语言的预编译命令B)在程序中该行尾部不需要分号C)用于将math.h包含进来D)math.h是一个函数50.下列C程序段的输出结果是【C 】int a=0;switch(a){ case 0: printf(“a=0”);case 1: printf(“a=1”);default: printf(“default”);}A)a=0 B)a=0default C)a=0a=1default D)default51.已知:int a, x, y; 有语法错误..的C语句是【 B 】A)while(x) y++; B)while(x+y=0) a++;C)while(x<y); D)while(y=5) ++x;52.对于do … while( )语句,错误..的说法是【C 】A)用条件控制循环体的重复执行B)循环体至少要执行一次C)循环体有可能一次也不执行D)循环体中可以包含若干条语句53.已知:int a, x, y; 有语法错误..的C语句是【 B 】A)while(x) y++; B)while(x+y=0) a++;C)while(x<y); D)while(y=5) ++x;54.已知:int a[5], *p=a; 利用p为数组元素a[4]赋值的正确C语句是【B】A)scanf(“%d”, p+3); B)scanf(“%d”, p+4);C)scanf(“%d”, *(p+3)); D)scanf(“%d”, *(p+4));55.对于C语句:char *a[2]={“abcd”, “ABCD”}; 叙述正确的是【B 】A)a是指针变量B)a是指针数组C)a是数组指针 D)a是字符串56.设有如下说明语句:struct ex{ int x; float y; char z; } example;则下面叙述中不正确的是【 B 】A)struct是结构体类型的关键字B)example是结构体类型名C)x, y, z都是结构体成员名D)struct ex是结构体类型名57.有以下程序#include <stdio.h>struct ord{ int x,y;} dt[2]={1,2,3,4};void main(){ struct ord *p=dt;printf(“%d,”,++p->x); printf(“%d\n”,++p->y);}程序的运行结果是【B 】A)1,2 B)2,3 C)3,4 D)4,158.设有以下定义【D 】union data{ short int d1; char d2; }demo;则下面叙述中错误的是____。

c语言习题册及答案

c语言习题册及答案

第3章课后练习及作业习题指导(参考答案)作业01 C语言基础知识一、选择题1.C语言程序的基本单位是()。

A)函数 B)过程 C)子程序 D)子例程2.下列个选项中,合法的C语言关键字是()。

A)integer B)sin C)string D)void3.下列选项中,不是C语言提供的合法关键字的是()。

A)switch B)cher C)default D)case4.以下选项中合法的用户标识符是()。

A)int B)a# C)5mem D)_2435.C语言程序一行写不下时,应该()。

A)用回车换行 B)在任意空格处换行C)用分号换行 D)用逗号换行6.在C程序中,可以作为用户标识符的一组标识符是()。

A)void define WORD B)as_b3 _224 ElseC)switch —wer case D)4b DO SIG7.在C语言中,下列合法的字符常量是()。

A)’\039 B)’\x76’ C)’ab’ D)’\o’8.以下说确的是()。

A)C语言程序是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序是从main()函数开始执行的D)C语言程序中的main()函数必须放在程序的开始部分9.()是构成C语言程序的基本单位A)函数 B)变量 C)子程序 D)语句10.一个C语言程序总是从()开始执行的A)主过程B)主函数 C)子程序 D)主程序11.以下叙述不正确的是()A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main()函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面12.C语言规定:在一个源程序中,main()函数的位置()A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后13.以下叙述正确的是()A)在C程序中,main()函数必须位于程序的最前面B)C程序中的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误14.C语言中标识符只能由字母、数字和下划线3种字符组成,且第一个字符()A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字和下划线中任意一种字符二、填空题1.一个C语言编写的程序是从main函数开始执行的。

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题

计算机二级C语言考前复习题:选择题计算机二级C语言考前复习题:选择题1). 假设变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

A.x=y==5;B.x=n%2.5;C.x+n=I;D.x=5=4+1;正确答案:A答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。

所以这是一条正确的赋值语句。

因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。

因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。

2). 以下数据构造中,属于非线性构造的是( )A.循环队列B.带链队列C.二叉树D.带链栈正确答案:C答案解析:根据数据构造中各数据元素之间的前后件关系的复杂程度,一般将数据构造分为两大类:线性构造和非线性构造。

循环队列、带链队列和带链栈都是线性构造,而二叉树是非线性构造。

3). 以下表达中正确的选项是( )A.一个算法的空间复杂度大,那么其时间复杂度也必定大B.一个算法的空间复杂度大,那么其时间复杂度必定小C.一个算法的时间复杂度大,那么其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系正确答案:D答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。

算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的根本运算次数来度量,而算法所执行的根本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。

4). 以下描绘中正确的选项是( )A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合正确答案:D答案解析:计算机软件与硬件是计算机系统中互相依存的两局部。

计算机二级C语言选择题

计算机二级C语言选择题

1、以下选项中,能用作数据常量的是________。

(标准答案:C)(A)o115 (B)0118 (C)115L (D)1.5e1.52、下列叙述中错误的是_______。

(标准答案:A)(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成3、设变量已正确定义并赋值,以下正确的表达式是_______。

(标准答案:B)(A)int(15.8%5) (B)x=y+z+5, ++y (C)x=25%5.0 (D)x=y*5=x+z4、以下叙述中错误的是_____________。

(标准答案:A)(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj的目标程序(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中(D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件5、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是___________。

(标准答案:D)(A)大写字母(B)下划线(C)数字字符(D)连接符6、以下选项中,合法的一组C语言数值常量是__________。

(标准答案:D)(A) 0x8A 10,000 3.e5 (B).177 4e1.5 0abc(C) 028 .5e-3 -0xf (D)12. 0Xa23 4.5e07、以下选项中不合法的标识符是__________。

(标准答案:C)(A)print (B)FOR (C)&&a (D)_008、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(A)i=(a+k)<=(i+k); (B)a=a++,i++; (C)i=a%11; (D)i=!a;标准答案:C11、设有定义:int x=2;,以下表达式中,值不为6的是(A)x*=(1+x) (B)x*=x+1 (C)x++,2*x (D)2*x, x+=2标准答案:D12、有以下程序#include <stdio.h>main(){ int x, y, z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是(A)2,3,3 (B)2,2,1 (C)2,3,2 (D)2,3,1标准答案:D13、以下叙述中错误的是(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法标准答案:A14、以下选项中,能用作用户标识符的是(A)8_8 (B)unsigned (C)_0_ (D)void标准答案:C15、C源程序中不能表示的数制是(A)二进制(B)十六进制(C)十进制(D)八进制标准答案:A16、若有定义语句:int x=10; ,则表达式x-=x+x的值为(A)0 (B)10 (C)-20 (D)-1017、以下选项中不合法的标识符是(A)&a (B)print (C)_00 (D)FOR标准答案:A18、以下关于结构化程序设计的叙述中正确的是(A)一个结构化程序必须同时由顺序、分支、循环三种结构组成(B)有三种基本结构构成的程序只能解决小规模的问题(C)在C语言中,程序的模块化是利用函数实现的(D)结构化程序使用goto语句会很便捷标准答案:C19、对于一个正常运行的C程序,以下叙述中正确的是(A)程序的执行总是从main函数开始,在程序的最后一个函数中结束(B)程序的执行总是从程序的第一个函数开始,在main函数结束(C)程序的执行总是从main函数开始(D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束标准答案:C20、以下选项中能表示合法常量的是(A)1.5E2.0 (B)“\007” (C)1, 200 (D)‘\ ’标准答案:B21、以下定义语句中正确的是(A)float a=1,*b=&a,*c=&b; (B)int a=b=0;(C)double a=0.0;b=1.1; (D)char A=65+1,b=’b’;标准答案:D22、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)double(x)/10 (B)x=x+10=x+y (C)x+1=y (D)++x,y=x-- 标准答案:D23、计算机能直接执行的程序是(A)可执行程序(B)目标程序(C)源程序(D)汇编程序标准答案:A24、以下叙述中正确的是(A)C语言规定必须用main作为主函数名,程序将从此开始执行(B)C语言程序将从源程序中第一个函数开始执行(C)main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等(D)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行标准答案:A25、以下选项中可用作C程序合法实数的是(A)E9 (B)9.12E (C)3.0e1.2 (D) .1e0标准答案:D26、下列定义变量的语句中错误的是(A)float US$; (B)double int_; (C)char For; (D)int _int; 标准答案:A27、表达式:(int)((double)9/2)-9%2的值是(A)5 (B)4 (C)0 (D)3标准答案:D28、以下叙述中错误的是(A)算法正确的程序对于相同的输入一定有相同的结果(B)算法正确的程序可以有零个输入(C)算法正确的程序可以有零个输出(D)算法正确的程序最终一定会结束29、以下叙述中正确的是(A)C语言程序中的注释必须与语句写在同一行(B)简单C语句必须以分号结束(C)C语句必须在一行内写完(D)C程序中的每一行只能写一条语句标准答案:B30、以下选项中关于C语言常量的叙述错误的是(A)经常被使用的变量可以定义成常量(B)常量分为整型常量、实型常量、字符常量和字符串常量(C)所谓常量,是指在程序运行过程中,其值不能被改变的量(D)常量可分为数值型常量和非数值型常量标准答案:A31、以下选项中,不合法的C语言用户标示符是(A)AaBc (B)a_b (C)_1 (D)a--b标准答案:D32、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)x=y==5; (B)x=5=4+1; (C)x+n=i; (D)x=n%2.5;标准答案:A33、以下选项中关于程序模块化的叙述错误的是(A)把程序分成若干相对独立的模块,可便于编码和测试(B)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块(D)可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序标准答案:D34、以下叙述中正确的是(A)C程序中的注释只能出现在程序的开始位置和语句的后面(B)C程序书写格式严格,要求一行内只能写一个语句(C)用C语言编写的程序只能放在一个程序文件中(D)C程序书写格式自由,一个语句可以写在多行上标准答案:D35、以下不合法的数值常量是(A)1e1 (B)0xabcd (C)8.0E0.5 (D)011标准答案:C36、以下关于C语言数据类型使用的叙述中错误的是(A)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(B)若要保存带有多位小数的数据,可使用双精度类型(C)整数类型表示的自然数是准确无误差的(D)若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型标准答案:A37、设有定义int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是(A)++k (B)k++ (C)k+1 (D)k+=1标准答案:C38、以下叙述中错误的是(A)C程序在运行过程中所有计算都以二进制方式进行(B)C程序在运行过程中所有计算都以十进制方式进行(C)C程序中字符变量存放的是字符的ASCII值(D)所有C程序都需要编译链接无误后才能运行标准答案:B39、以下关于C语言的叙述中正确的是(A)C语言中的注释不可以夹在变量名或关键字的中间(B)C语言中的变量可以再使用之前的任何位置定义(C)在C语言算数表达式的书写中,运算符两侧的运算数类型必须一致(D)C语言的数值常量中夹带空格不影响常量值的正确表示标准答案:A40、以下不合法的字符常量是(A)‘\018’(B)‘\”’(C)‘\\’(D)‘\xcc’标准答案:A41、以下选项中正确的定义语句是(A)double a=7,b=7; (B)double a;b; (C)double,a,b; (D)double a=b=7; 标准答案:A42、若有定义语句int a=3,b=2,c=1;以下选项中错误的赋值表达式是(A)a=(b=4)=3; (B)a=1+(b=c=4); (C)a=(b=4)+c; (D)a=b=c+1;标准答案:A43、下列叙述中错误的是(A)一个C语言程序只能实现一种算法(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成标准答案:A44、C语言源程序名的后缀是(A) .c (B) .cp (C) .obj (D) .exe标准答案:A45、以下选项中不能用作C程序合法常量的是(A)123 (B)‘\123’(C)“\x7D”(D)1,234标准答案:D46、表达式a+=a-=a=9的值是(A)0 (B)-9 (C)18 (D)9标准答案:A47、若有定义语句:int x=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为(A)2.4 (B)2 (C)1.9 (D)1标准答案:D48、以下选项中合法的标识符是(A)1-1 (B)1__(C)1_1 (D)_11标准答案:D49、表达式3.6-5/2+1.2+5%2的值是(A)4.8 (B)4.3 (C)3.8 (D)3.3标准答案:C50、有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是(A)a=x<>y (B)a%(int)(x-y) (C)y=x+y=x (D)(a*y)%b 标准答案:B51、有以下程序#include <stdio.h>main(){ int a=0,b=0; /*给a赋值b=20; /*给b赋值*/printf(“a+b=%d\n”,a+b); /*输出计算结果*/}程序运行后的输出结果(A)出错(B)a+b=0 (C)a+b=30 (D)a+b=10 标准答案:A52、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令,关于转换以下说法错误的是(A)一条C语句可能会被转换成零条机器指令(B)某种类型和格式的C语句被转换成机器指令的条数是固定的(C)一条C语句可能会被转换成多条机器指令(D)一条C语句对应转换成一条机器指令标准答案:D53、关于C语言的符号常量,以下叙述中正确的是(A)符号常量在整个程序中其中都不会被重新定义(B)符号常量的符号名是标识符,但必须大写(C)符号常量的符号名必须是常量(D)符号常量是指在程序中通过宏定义用一个符号名来代表一个常量标准答案:D54、若有以下程序#include <stdio.h>main(){int b=10,a=-11;a%=b%=4;printf(“%d %d\n”,a,b);}则程序的输出结果是(A)1 2 (B)-1 2 (C)1 -2 (D)-1 -2标准答案:B55、若有以下程序#include <stdio.h>main(){int a=0,b=0,c=0;c=(a-=++a),(a+=b,b+=4);printf(“%d,%d,%d\n”,a,b,c);}则程序的输出结果是(A)0,4,0 (B)0,4,4 (C)1,4,4 (D)1,4,1标准答案:A56、若有以下程序#include <stdio.h>main(){int a=0,b=0,c=0,d;c=(a+=b,,b+=a); /*第4行*/d=c;; /*第5行*/; /*第6行*/printf(“%d,%d,%d\n”,a,b,c); /*第7行*/}编译时出现错误,你认为出错的是(A)第6行(B)第5行(C)第7行(D)第4行标准答案:D57、关于算法,以下叙述中错误的是(A)一个算法对于某个输入的循环次数是可以事先估计出来的(B)同一个算法对于相同的输入必须得出相同的结果(C)某个算法可能会没有输入(D)任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕标准答案:D58、关于C语言的变量,以下叙述中错误的是(A)由三条下划线构成的符号名是合法的变量名(B)所谓变量是指在程序运行过程中其值可以被改变的量(C)程序中用到的所有变量都必须先定义后才能使用(D)变量所占的存储单元地址可以随时改变标准答案:D59、若有以下程序#include <stdio.h>main(){int a=-11,b=10;a/=b/=4;printf(“%d %d\n”,a,b);}(A)4 -3 (B)5 -3 (C)-1 -2 (D)-5 2标准答案:D60、#include <stdio.h>main(){int a=0,b=0,c=0;c=(a+=++b,b+=4);printf(“%d,%d,%d\n”,a,b,c);}则程序的输出结果是(A)1,5,1 (B)-1,4,-1 (C)-1,4,4 (D)1,5,5标准答案:D61、以下选项中不属于C语言标识符的是(A)关键字(B)预定义标识符(C)用户标识符(D)常量标准答案:D62、以下选项中不属于C语言程序运算符的是(A)&& (B)()(C)sizeof (D)<>标准答案:D63、若变量已正确定义并赋值,以下不能构成C语句的选项是(A)A=a+b; (B)B++; (C)A?a:b; (D)a=a+b标准答案:D64、若有以下程序段double x=5.16894;printf(“%f\n“,(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是(A)5.169000 (B)5.175000 (C)5.170000 (D)5.168000 标准答案:A65、以下不能用于描述算法的是(A)文字叙述(B)伪代码和流程图(C)程序语句(D)E-R图标准答案:D66、以下叙述中合法的实型常量是(A)2.0*10 (B) .914 (C)0 (D)3.13e-2.1 标准答案:B67、以下叙述中正确的是(A)若有int 4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4(B)在赋值表达式中,赋值号的右边可以是变量,也可以是表达式(C)若有int 4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0(D)a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数标准答案:B68、以下选项中合法的常量是(A)sizeof (B)A% (C)5a (D)_10_标准答案:D69、不能正确表示数学式的表达式是(A)a*b/c (B)a*(b/c) (C)a/c*b (D)a/b*c 标准答案:D70、#include <stdio.h>main(){int a=3;printf(“%d\n”,a+=a-=a*a);}程序运行后的输出结果是(A)9 (B)-12 (C)0 (D)3标准答案:B71、以下叙述中正确的是(A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构(B)N-S流程图只能描述简单的顺序结构的程序(C)计算机可以直接处理C语言程序,不必进行任何转换(D)程序的算法只能使用流程图来描述标准答案:A71、以下叙述中正确的是(A)书写源程序时,必须注意缩进格式,否则程序会有编译错误(B)程序的主函数名除了main外,也可以使用Main或_main(C)程序可以包含多个主函数,但总是从第一个主函数处开始执行(D)在C程序中,模块化主要是通过函数来实现的标准答案:D72、C语言中double类型数据占字节数为(A)12 (B)8 (C)4 (D)16标准答案:B73、以下叙述中正确的是(A)用户自定义标识符必须“见名知意”,如果随意定义,则会出编译错误(B)语言中的关键字不能作变量名,但可以作为函数名(C)标识符的长度不能任意长,最多只能包含16个字符(D)标识符总是有字母、数字和下划线组成,且第一个字符不得是数字标准答案:D74、以下叙述中正确的是(A)空语句就是指程序中的空行(B)花括号对{}只能用来表示函数的开头和结尾,不能用于其他目的(C)复合语句在语法上包含多条语句,其中不能定义局部变量(D)当用scanf从键盘输入数据时,每行数据在没有按下回车键(Enter键)前,可以任意修改标准答案:D75、以下叙述中正确的是(A)程序必须包含所有三种基本结构才能成为一种算法(B)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达(C)只有简单算法才能在有限的操作步骤之后结束(D)我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令标准答案:D76、以下叙述中正确的是(A)在C语言程序设计中,所有函数必须保存在一个源文件中(B)结构化程序必须包含所有的三种基本结构,缺一不可(C)只要包含了三种基本结构的算法就是结构化程序(D)在算法设计时,可以把复杂任务分解成一些简单的子任务标准答案:D77、以下叙述中正确的是(A)预定义的标识符是C语言关键字的一种,不能另作他用(B)只能在函数体内定义函数,其他地方不允许定义变量(C)常量的类型不能从字面形式上区分,需要根据类型名来决定(D)整型常量和实型常量都是数值型常量标准答案:D78、以下叙述中正确的是(A)八进制数的开头要使用英文字母o,否则不能与十进制区分开(B)英文大写字母X和英文小写字母x都可以作为二进制数字的开头字符(C)在C程序中的八进制和十进制,可以是浮点数(D)整型变量可以分为int型、short型、long型、unsigned型四种标准答案:D79、以下叙述中正确的是(A)C语言程序总是从main函数开始执行(B)C语言程序所调用的函数必须放在main函数的前面(C)C语言程序中main函数必须放在程序开始位置(D)C语言程序总是从最前面的函数开始执行标准答案:A80、C语言程序中,运算对象必须是整型数的运算符是(A)% (B)/ (C)* (D)&&标准答案:A81、#include <stdio.h>main(){int sum,pad,pAd;sum=pad=5;pAd=++sum,pAd++,++pad;printf(“%d\n”,pad);}程序的输出结果是(A)7 (B)5 (C)8 (D)6 标准答案:D82、以下四个程序中,完全正确的是(A)#include <stdio.h> main();{/*/ programming /*/printf("programming!\n"); } (B)#include <stdio.h> main(){/* programming */printf("programming!\n"); } (C)#include <stdio.h> main(){/*/* programming */*/printf("programming!\n"); } (D)include <stdio.h>main(){/* programming */printf("programming!\n"); }标准答案:B83、有以下程序#include <stdio.h>main(){ int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是(A)1,0 (B)0,0 (C)1,2 (D)3,2标准答案:C84、有以下程序#include <stdio.h>main(){ char a,b,c,d;scanf("%c%c",&a, &b);c=getchar(); d=getchar();printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是(A)12(B)123(C)1234(D)1234标准答案:B85、有以下程序#include <stdio.h>main(){ char c1,c2;c1='A'+'8'-'4';c2='A'+'8'-'5';printf( "%c,%d\n",c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是(A)输出无定值(B)E,D (C)D,69 (D)E,68标准答案:D86、有以下程序#include <stdio.h>main(){ int a1,a2; char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输入格式是(以下ㄩ代表空格,<CR>代表回车)(A)12a34b<CR> (B)12ㄩa34ㄩb<CR> (C)12,a,34,b<CR> (D)12ㄩaㄩ34ㄩb<CR>标准答案:A87、若变量已正确定义为int型,要通过语句Scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中语法错误的是(注:□代表一个空格符)(A)□□□1,2,3<回车> (B)1□2□3<回车>(C)1,2,3<回车> (D)1,□□□2,□□□3<回车>标准答案:B88、设变量均已正确定义,若通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c和c2赋字符X和Y,以下所示的输入形式正确的是(A)10□X<回车>20□Y<回车>(B)10□X□20□Y<回车>(C)10X<回车>20Y<回车>(D)10□X20□Y<回车>标准答案:C89、设有定义int a; float b;执行scanf(“%2d%f”,&a,&b);语句时,若从键盘输入876 543.0<回车>则a和b的值分别是(A)76和543.0(B)87和543.0(C)876和543.0(D)87和6.0标准答案:D90、有如下程序段:int x=12;double y=3.141593;printf(“%d%8.6f”,x,y)其输出结果是(A)123.141593 (B)12 3.141593 (C)123.1415930 (D)12,3.141593标准答案:A91、若有定义:int a,b;通过语句scanf(“%d;%d”,&a,&b);能把整数3赋值给变量a,5赋值给变量b的输入数据是(A)35 (B)3 5 (C)3,5 (D)3;5标准答案:D92、阅读以下程序#include <stdio.h>main(){ int case;float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&printF);printf(“%d %f\n”,case,printF);}该程序在编译时产生错误,其出错原因是(A)定义语句出错,case是关键字,不能用作用户自定义标识符(B)定义语句出错,scanf不能作为输入函数使用(C)定义语句出错,printf不能输出擦色的值(D)定义语句出错,printF不能用作用户自定义标识符标准答案:A93、若有定义int a;float b;double c;程序运行时输入:3 4 5<回车>能把3输入给变量a、4输入给变量b、5输入给变量c的语句是(A)scanf(“%d%f%f”,&a,&b,&c);(B)scanf(“%d%lf%lf”,&a,&b,&c);(C)scanf(“%lf%lf%lf”,&a,&b,&c);(D)scanf(“%d%f%lf”,&a,&b,&c);标准答案:D94、设有定义double a,b,c;若要求通过分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)则能进行正确输入的语句是(A)scanf(“%f%f%f”,&a,&b,&c); (B)scanf(“%lf%lf%lf”,a,b,c);(C)scanf(“%5.11lf%5.11lf%5.11lf”,&a,&b,&c); (D)scanf(“%lf%lf%lf”,&a,&b,&c);标准答案:D95、以下叙述中正确的是(A)scanf和printf是C语言提供的输入和输出语句(B)由printf输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定(C)由printf输出的数据都隐含左对齐(D)赋值语句是一种执行语句,必须放在函数的可执行部分标准答案:D96、以下叙述中正确的是(A)在使用scanf函数输入整型或实数时,输入数据之间只能用空格来分隔(B)在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上(C)使用printf函数无法输入百分号%(D)在printf函数中,各个输出项只能是变量标准答案:B97、以下叙述中正确的是(A)复合语句也被称为语句块,它至少要包含两条语句(B)在scanf函数的格式中,必须有与输入项一一对应的格式说明(C)scanf函数中的字符串,是提示程序员的。

河南科技学院往年计算机C语言专升本题库及答案

河南科技学院往年计算机C语言专升本题库及答案

计算机C语言专升本题库(总分100分,考试时长60分钟)一、单项选择题(每小题2 分,共 100分)1、以下选项中合法的实型常数是________。

A、5E2.0B、E-3C、2E0D、1.3E2、下列程序段执行后的输出结果为 int x=3; int y=10; printf("%d",y%x);A、0B、1C、2D、33、设变量a、b、c、d和y都已正确定义并赋值。

若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。

A、y=0,ay=1,a≥bB、y=0,ay=1,a≥b且c≠dC、y=0,ay=1,a<B且C≠DD、y=0,ay=1,c≠d4、若有以下程序#include<stdio.h>main() {int a=6,b=0,c=0; for(;a;) {b+=a;a-=++c;}printf("%d,%d,%d\n",a,b,c);}则程序的输出结果是______。

A、0,14,3B、1,14,3C、0,18,3D、0,14,65、设有以下定义: int a[3][3]= { 1,2,3,4,5,6,7,8,9 }; int(*ptr)[3]=a; 则下列能正确表示数组元素a[1][2]的表达式是______。

A、*((*ptr+1)[2])B、a[2][3]C、(*ptr+1)+2D、*(*(a+1)+2)6、设a为整型变量,不能正确表达数学关系10A、10B、a==11||a==12||a==13||a==14C、a>10&&a<15D、!(a<=10)&&!(a>=15)7、下面程序段的运行结果是________。

char * format="%s,a=%d,b=%d\n";int a=11,b=10;a+=b;printf(format,"a+=b",a,b);A、for,"a+=b",abB、format,"a+=b"C、a+=b,a=21,b=10D、以上结果都不对8、在标准ascii码表中,若英文字母i的十进制码值是105,则小写字母f的十进制码值为______。

C语言

C语言

一、填空题1.C程序是由一个或若干个构成的,一个C源程序至少包含一个main 函数。

2.字符串是用一对双引号括起来的一串字符。

转义字符则是以斜杠/开头的字符序列。

3.结构化设计中的三种基本结构是顺序结构_________、_分支结构________、循环结构 __。

4.C语言源程序文件的后缀是_.c__,经过编译后生成文件的后缀是___.obg________,经过链接后生成文件的后缀是__.exe____。

5.定义int x,y;执行y=(x=1,++x,x+2);语句后,y 的值是_______4____。

6.c语言的基本数据类型有字符型、整型、实型。

7.设int x=3,y=5; 则执行printf("%d\n",x&&y);后输出__1___。

8.定义int x,y;执行y=(x=1,++x,x+2);语句后,y 的值是___4__。

9.若执行以下程序段:int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是_2___。

10.下述语句执行后,int k=1; while (k++<10); 变量k 的值是_______10_____。

11.字符’B’表示成十六进制等于__ 11 __。

12.C语言程序的基本单位是函数。

13.(int)(13.7+25.6)/4%5值为1。

14.若执行以下程序段,其运行结果是ab 。

char c[ ]={'a', 'b', '\0', 'c', '\0'};printf ( "%s\n", c );15.表达式:10!=9的值是1 。

1.下列四组选项中,均是不合法的用户标识符的选项是( B )。

A) W P_0 do B) b-a goto intC) float la0_A D) -123 abc TEMP2.下面程序的输出是:(D)main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=13 B)k=11,k=13,k=13C) k=11,k=013,k=oXb D)k=11,k=13,k=b3.以下合法的C语言赋值语句是:(D)A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)-- i;4.以下程序的输出结果是:(C)main(){ int x=10,y=3;printf(“%d\n”,y=x/y);}A)0 B)1 C)3 D)不确定5.以下叙述正确的是(C )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题
1、下面程序的输出是______
main()
{
int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
A.k=11,k=12,k=13
B.k=11,k=13,k=13
C.k=11,k=013,k=oXb
D.k=11,k=13,k=b
2、以下合法的C语言赋值语句是哪个?______
A.a=b=58
B.k=int(a+b) ;
C.a=58,b=58
D.i;
3、以下程序的输出结果是______
main()
{ int x=10,y=3;
printf(“%d\n”,y=x/y);
}
A.0
B. 1
C. 3
D.不确定
4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是______
A.read (a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%D%D%D”,%a,%b,%c);
D.scanf(“%d%d%d”,&a,&b,&b);
5、执行下面程序段后,c3中的值是______
int c1=1 , c2=2 , c3;
c3=c1/c2;
A.0
B.1/2
C.0.5
D. 1
6、若执行以下程序段,其输出结果是______
int a=0 , b=0 , c=0;
c=(a-=a-5) , (a=b,b+3) ;
printf(“%d , %d , %d\n” , a,b,c);
A.3,0,-10
B.0,0,3
C.-10,3,-10
D.3,0,3
7、若有以下定义和语句:
int a=5;
a++;
此处表达式a++的值是______
A.7
B. 6
C. 5
D. 4
8、在C语言中,如果下面的变量都是int类型,则输出结果是______ sum=pad=5;
pad=sum++,pad++,++pad;
printf("%d\n",pad);
A.7
B. 6
C. 5
D. 4
9、以下程序的输出结果______
#include<stdio.h>
main()
{
int i=010,j=10;
printf("%d,%d\n",++i,j--);
}
A.11,10
B.9,10
C.010,9
D.10,9
10、若有定义和语句:
char s[10]; s="abcd"; printf("%d\n",s);则结果是_____
A.输出 abcd
B.输出 a
C.输出 adcb
D.编译不能通过
11、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处<CR>代表换行,代表空格):
1 2 <CR>
A B C<CR>
则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______
A.scanf("x=%d y=%d",&x,&y); a=getchar(); c=getchar();
B.scanf("%d%d",&x,&y); a=getchar(); b=getchar(); c=getchar();
C.scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
D.scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
12、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______
main()
{
int x;
scanf("%d",&x);
if (x++>5) printf("%d",x)
else printf("%d\n",x--);
}
A.7和5
B.6和3
C.7和4
D.6和4
13、若执行下面的程序从键盘输入3和4,则输出是_______
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if (a<b) s=b;
s=s*s;
printf("%d\n",s);
}
A.14
B.16
C.18
D.20
14、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);
为了把100和765.12分别赋给i和f,则正确的输入为______
A.100<空格>765.12<回车>
B. B)i=100,f=765.12<回车>
C.100<回车>765.12<回车>
D.D)x=100<回车>,y=765.12<回车>
15、以下程序的输出结果是______
#include<stdio.h>
main()
{
printf("%d\n",NULL);
}
A.不确定
B.0
C.–1
D. 1
二、填空题
1、复合语句在语法上被认为是______,空语句的形式是______
2、如果想输出字符“%”,则应该在“格式控制”字符串中用______表示。

3、printf函数的“格式控制”包括两部分,他们是______和______。

4、符号’&’是______运算符,&a是指______。

5、复合语句是由一对______括起来的若干语句组成的。

6、getchar 函数的作用是______。

7、putchar 函数的作用是______。

8、scanf函数中的“格式控制”后面应当是______,而不是______。

9、分析下面程序:
main()
{ int x,y;
x=16;y=(x++)+x; printf(“%d\n”,y);
x=15;printf(“%d,%d\n”,++x,x);
x=20;y=x--+x; printf(“%d\n”,y);
x=13;printf(“%d,%d”,x++,x);
}
其输出结果是
————————
————————
————————
————————
10、已知字符A的ASCII码为十进制的65,下面程序的输出是______。

main()
{
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
三、编写程序
1、编写程序,输入两个整数:1500和350,求出它们的商和余数并输出。

2、编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c, c中原来的值给a,且输出改变后的a,b,c的值。

3、输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。

例:a等于10,b等于5,a+b的结果输成
10+5=15
4、输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。

相关文档
最新文档