C语言单选专项复习题
- 格式:docx
- 大小:12.97 KB
- 文档页数:3
1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。
C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
一、单选题(每题1分,共100题)1.C语言源程序文件是后缀为(未填)的文件。
错误正确答案:AA. .cB. .exeC. .objD. .bat2.C语言中主函数的个数是(未填)。
错误正确答案:DA. 2个B. 任意个C.10个D. 1个3.定义指针变量时,需要在指针变量名前加上(未填)错误正确答案:CA.!B.@C.*D.&4.变量的指针,其含义是指该变量的(未填)错误正确答案:BA.值B.地址C.名D.标志5.若定义:int a=511,*b=&a;则printf("%d\n",*b);的输出结果为(未填)错误正确答案:DA.无确定B.a的地址C.512D.5116.若有以下定义int a[10],*p=a;则p+5表示(未填)错误正确答案:AA.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值7.下列变量名中合法的是(未填)错误正确答案:AA.TomB.3a6bC.6a7bD.5ABC8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(未填)。
错误正确答案:CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符9.表达式18/4*sqrt(4.0)/8值的数据类型为(未填)。
错误正确答案:CA.intB.floatC.doubleD.不确定10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(未填)。
错误正确答案:CA.A%2==1B.!(A%2==0)C.!(A%2)D.A%211.下列数据中,为字符的是(未填)。
错误正确答案:DA.‘AB’B."A"C.HowD.'A'12.下列不合法的实数是(未填)错误正确答案:CA.34.65B.6.3E2C.e3D.54.313.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(未填)。
姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件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 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
一、单项选择共206题第1题题号:3123下列数据中属于"字符串常量"的是A:ABCB:"ABC"C:'ABC'D:'A'答案:B第2题题号:3090能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是A:a>=10 or a<=0B:a>=0 | a<=10C:a>=10 && a<=0D:a>=10 || a<=0答案:D第3题题号:3122从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句答案:C第4题题号:3114C语言源程序名的后缀是A:exeB:cC:objD:cp答案:B第5题题号:3120下列( )表达式的值为真,其中a=5;b=8;c=10;d=0 A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b<c*d答案:D第6题题号:3124C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件A:.cB:.objC:.exeD:.bas答案:C第7题题号:3162若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40答案:D第8题题号:3098在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是A:externB:registerC:autoD:static答案:D第9题题号:3161C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为A:.cB:.objC:.exeD:.bas答案:B第10题题号:3109C语言的if语句中,用作判断的表达式为A:任意表达式B:逻辑表达式C:关系表达式D:算术表达式答案:A第11题题号:3129设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为A:floatB:intC:charD:double答案:D第12题题号:3166 定义共用体的关键字是A:unionB:enumC:structD:typedef答案:A第13题题号:3153 以下正确的字符串常量是A:"\\\"B:'abc'C:OlympicGamesD:'A'答案:A第14题题号:3126 定义结构体的关键字是A:unionB:enumC:structD:typedef答案:C第15题题号:3128 下列正确的标识符是A:_doB:6aC:%yD:a+b答案:A第16题题号:3091 C程序的基本结构单位是A:文件B:语句C:函数D:表达式答案:C第17题题号:3130下列说法中错误的是A:一个数组只允许存储同种类型的变量B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C:数组的名称其实是数组在内存中的首地址D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改答案:B第18题题号:3139算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为A:算术运算、赋值运算、关系运算B:关系运算、赋值运算、算术运算C:算术运算、关系运算、赋值运算D:关系运算、算术运算、赋值运算答案:C第19题题号:3144若x=2,y=3则x||y的结果是A:0B:1C:2D:3答案:B第20题题号:3110C 语言程序的三种基本结构是顺序结构、选择结构和______结构.A:循环B:递归C:转移D:嵌套答案:A第21题题号:3092设有说明:char w; int x; float y; double z; 则表达式w*x+z-y 值的数据类型为().A:floatB:intC:charD:double答案:D第22题题号:3106执行下列程序段后,m的值是________.int w=2,x=3,y=4,z=5,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A:4B:3C:5D:2答案:D第23题题号:3108C语言的switch语句中case后A:只能为常量B:只能为常量或常量表达式C:可为常量或表达式或有确定值的变量及表达式D:可为任何量或表达式答案:B第24题题号:3100C语言函数的隐含存储类别是A:staticB:autoC:registerD:extern答案:D第25题题号:3142以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4; w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A:1B:2C:3D:4答案:D第26题题号:3160为表示关系x≥y≥z,应使用C语言表达式A:(x>=y)&&(y>=z)B:(x>=y) AND (y>=z)C:(x>=y>=z)D:(x>=z)&(y>=z)答案:A第27题题号:3167下列关于指针定义的描述,___________是错误的A:指针是一种变量,该变量用来存放某个变量的地址值的B:指针是一种变量,该变量用来存放某个变量的值C:指针变量的类型与它所指向的变量类型一致D:指针变量的命名规则与标识符相同答案:B第28题题号:3088下列变量中合法的是A:B.C.TomB:3a6bC:_6a7bD:$ABC答案:C第29题题号:3145C语言中,switch后的括号内表达式的值可以是A:只能为整型B:只能为整型,字符型,枚举型C:只能为整型和字符型D:任何类型答案:D第30题题号:3159字符串指针变量中存入的是A:字符串B:字符串的首地址C:第一个字符D:字符串变量答案:B第31题题号:3135C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern答案:B第32题题号:3094C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数答案:B第33题题号:3117已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A:A,BB:A,68C:65,66D:65,68答案:C第34题题号:3125若有定义int a[10],*p=a;,则p+5表示A:元素a[5]的地址B:元素a[5]的值C:元素a[6]的地址D:元素a[6]的值答案:A第35题题号:3102若int a=3,则执行完表达式a-=a+=a*a后,a的值是A:-15B:-9C:-3D:0答案:D第36题题号:3157若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用int a[]={1,2,3,4,5},*p,i;p=a;A:*(a+2)B:a[p-3]C:p+2D:a+3答案:A第37题题号:3165main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第38题题号:3143以下程序的输出结果是________.void fun(int a, int b, int c){ a=456; b=567; c=678; }main(){ int x=10, y=20, z=30;fun(x, y, z);printf("%d,%d,%d\n", z, y, x);}A:30,20,10B:10,20,30C:456567678D:678567456答案:A第39题题号:3137有定义:char*p1,*p2;则下列表达式中正确合理的是A:p1/=5B:p1*=p2C:p1=&p2D:p1+=5答案:C第40题题号:3099若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;不能表示a数组元素的表达式是A:*pB:a[10]C:*p++D:a[*p-a]答案:D第41题题号:3147对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是A:aa数组元素的值分别是"abcd"和"ABCD"B:aa是指针变量,它指向含有两个数组元素的字符型一维数组C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址答案:D第42题题号:165下列定义数组的语句中正确的是()。
《C语言》课程综合复习资料一、单选题1. 在C语言中,字符型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码2. 在C语言中,十进制数47可等价地表示为A) 2f B) 02f C) 57 D) 0573. 设有定义:int x=12,n=5; 则表达式x%=(n%2) 的值为A) 0 B) 1 C) 2 D) 34. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str;则printf("%d\n",strlen(p+20)); 输出结果是A)10 B)6 C)0 D)205. 已定义以下函数: fun(int *p){ return *p; }该函数的返回值是A)不确定的值B)形参p所指存储单元中的值C)形参p中存放的值D)形参p的地址值6. C语言中,函数返回值的类型是由A)return语句中的表达式类型决定B)调用函数的主调函数类型决定C)调用函数时的临时类型决定D)定义函数时所指定的函数类型决定7. 有以下函数定义:void fun( int n , double x ) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun( int y , double m );B)k=fun( 10 , 12.5 );C)fun( 10 , 12.5 );D)void fun( 10 , 12.5 );8. 以下选项中不能正确赋值的是A)char b[]={′H′,′e′,′l′,′l′,′o′,′!′};B)char b[10];b="Hello!";C)char b[10]= "Hello!";D)char *str="Hello!";9. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是A)ps+3 B)s[3] C)ps[3] D)ps+=3,*ps10. 当对两个字符串进行比较时,应该使用的函数是A)strcat B)strcmp C)strcpy D)strlen11. 若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次12. 以下关于数组的描述正确的是A)数组大小固定,但是可以有不同类型的数组元素B)数组大小可变,但是所有数组元素的类型必须相同C)数组大小固定,所有元素的类型必须相同D)数组大小可变,可以有不同类型的数组元素13. 以下能正确定义数组并正确赋初值的语句是A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};14. 设有定义int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) , *(a+4) 的值是A)5 11B)1 9 C)5 9 D)有错误15. 已知char b[5],*p=b; ,则正确的赋值语句是A)b=“abcd” ; B)*b=“abcd”; C)p=“abcd”; D)*p=“abcd”;16. 用数组名作为函数调用时的实参,则实际传递给形参的是A)数组的第一个元素值B)数组中全部元素值C)数组的首地址D)数组的元素个数17. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效18. 当对两个字符串进行比较时,应该使用的函数是A)strcat B)strcmp C)strcpy D)strlen19. 有如下定义:long m;char c;float x;double y;则表达式c+m*x/y的值的类型是A)long B)char C)float D)double20. 假设已定义char c[8]= "test";int i;则下面的输出函数调用中错误的是A)printf("%s",c);B)for(i=0;i<8;i++) printf("%c",c[i]);C)puts(c) D)for(i=0;i<8;i++) puts(c[i]);21. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是A)ps+3 B)s[3] C)ps[3] D)ps+=3,*ps22. 以下选项中不能正确赋值的是A)char b[]={′H′,′e′,′l′,′l′,′o′,′!′};B)char b[10];b="Hello!";C)char b[10]= "Hello!";D)char *str="Hello!";23. 有以下函数定义:void fun( int n , double x ) { ……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。
C语言期末复习题一、单选题:1、已知ch是字符型变量,下面不正确的赋值语句是( B )。
A、ch=…\0‟B、ch=…a+b‟C、ch=…7‟+…9‟D、ch=7+92、以下4组用户定义标识符中,全部合法的一组是(A )。
A、s_5B、IfC、txtD、intabout -max REAL k_2E2 turbo 3COM _0013、C语言中的简单数据类型包括(B )A、整型、实型、逻辑型B、整型、实型、字符型、枚举型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C )A、1B、2C、-1D、-25、已知:int i=5;执行语句i+=++i;后,i的值是(C )A、10B、11C、12D、A、B、C答案都不对7、若x为int型变量, x=6;则执行以下语句后,x的值为( C )。
x+=x-=x*x;A、36B、60C、- 60D、-248、设d为字符变量,下列表达式不正确的是(D )。
A、d=‟g‟B、d=‟a‟C、d=97D、d=”g”9、若a=1,b=2,c=3,d=4;则条件表达式a>b?a:c<d?c:d结果为(B )A、4B、3C、2D、110、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。
如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度小于8,则输出方式为( B )。
A、从左起输出该字符串,右补空格B、右对齐输出该字符,左补空格C、按原字符长从左向右全部输出D、输出错误信息11、在嵌套的if-else语句中,else总是与(D )配对。
A、其之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近的且不带else的if12、一个C语言程序总是从(B )开始执行。
A、程序的第一个函数B、主函数C、子函数D、主程序13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是 ( A )A、3.9B、4C、4.2D、3.7514、程序片段执行后输出结果是( A )int x=5, y=8;printf ("% d", x<y ? x : (x, y));A、5B、8C、5,8D、编译出错15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:( D )。
一、单选(共100分) 单项选项题1. 以下叙述中错误的是( B)。
A 、可以通过赋初值的方式确定数组元素的个数B 、当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息C 、对于double类型数组,不可以直接用数组名对数组进行整体输入或输出D 、数组名代表的是数组所占存储区的首地址,其值不可改变标记此题2. ( )可以不进行函数类型说明。
A 、以上都是B 、在所有函数定义前,已在函数外预先说明了被调函数类型C 、被调函数的返回值是整型或字符型时D 、被调函数的定义在主调函数定义之前时标记此题3. .以下正确的说法是( )。
A 、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用B 、系统不允许用户重新定义标准库函数C 、用户若需要调用标准库函数,调用前必须重新定义D 、用户可以重新定义标准库函数,如若此,该函数将失去原有定义标记此题4. 有以下程序#include <stdio.h>void main(){int n,*p=NULL;*p=&n;printf(“Input n:”); scanf(“%d”,&p); printf(“output n:”);printf(“%d\n”,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是A 、printf(“%d\n”,p);B 、scanf(“%d”,&p)C 、int n,*p=NULL;D 、*p=&n;标记此题5. 以下关于编译预处理的叙述中不正确的是()A 、预处理命令是在正式编译之前先行被处理的B 、一条有效的预处理命令行必须单独占据一行C 、C源程序中凡是以“#”号开始的控制行都是预处理命令行D 、预处理命令行必须位于源程序的开始部分标记此题6. 设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是( )。
c语言程序与设计基础知识试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0123C. 0.12ED. 12e答案:A3. 在C语言中,用于定义数组的关键字是:A. arrayB. listC. vectorD. none of the above答案:D4. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B5. C语言中,用于文件操作的库函数是:A. stdio.hB. string.hC. math.hD. stdlib.h答案:A6. 下列关于指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储一个值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. 在C语言中,用于定义函数的关键字是:A. functionB. defineC. defD. void答案:D8. 下列哪个选项不是C语言中的控制结构?A. if-elseB. switch-caseC. forD. goto答案:D9. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. all of the above答案:D10. C语言中,用于定义枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个名为“person”的结构体,包含姓名和年龄两个成员,正确的定义方式是:struct person { char name[50];int age; }。
答案:正确2. 在C语言中,使用________函数可以输出格式化的字符串到控制台。
计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
C语言单选专项复习题
C语言单选专项复习题
1).以下选项中不合法的标识符是()
A.FOR
B.&a
C.print
D._00
正确答案:B
答案解析:合法的标识符要满足组成字符为a~z以及A~Z,数字
字符0到9和下划线,其中数字不开头,不能是关键字。
选项B中,&不属于组成字符,是错误的。
2).下列描述中正确的是()
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的.集合
正确答案:D
答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。
计算机软件是包括程序、数据及相关文档的完整集合。
软件由两部
分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,
与软件开发、运行、维护、使用等有关的文档。
软件具有以下六个
特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。
②
软件的生产与硬件不同,它没有明显的制作过程。
③软件在运行、
使用期间不存在磨损、老化问题。
④软件的开发、运行对计算机系
统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。
⑤软件复杂性高,成本昂贵。
⑥软件的开发涉及诸多社会因素。
3).变量a中的数据用二进制表示的形式是01011101,变量b中
的数据用二进制表示的形式是11110000。
若要求将a的高4位取反,低4位不变,所要执行的运算是
A.a^b
B.a|b
C.a&b
D.a<<4
正确答案:A
答案解析:本题考查的是位运算的知识,对于任何二进制数,和1进行异或运算会让其取反,而和0进行异或运算不会产生任何变化,
故本题选A。
4).下列关于栈叙述正确的是()
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
正确答案:A
答案解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。
5).已知inta=1,b=3则a^b的值为
A.3
B.1
C.2
D.4
正确答案:C
答案解析:^是按位异或运算,如果对应位不同则结果为1,相同则为0。
6).按条件f对关系R进行选择,其关系代数表达式为()
A.R|X|R
B.R|X|Rf
C.бf(R)
D.∏f(R)
正确答案:C
7).信息隐蔽的概念与下述哪一种概念直接相关()
A.软件结构定义
B.模块独立性
C.模块类型划分
D.模拟耦合度
正确答案:B。