C复习题
C语言复习题30640
一、选择题1.在每个C程序中都必须包含有这样一个函数,该函数的函数名为 A 。
A. mainB. MAINC. nameD. function2.在以下关于C语言的注释的叙述中,不正确的是C。
A.注释可用"/*"、"*/"形式表示,也可用"//"形式表示B.编译器在编译一个程序时,将跳过注释,不对其进行处理C.编译器在编译一个程序时,可发现注释中的单词拼写错误D.程序中注释的多少不会影响所生成的可执行文件的长度3.以下叙述不正确的是。
A.在C程序中,严格区分大小写字母B.一个C源程序有且仅有一个main函数C.在C程序中,注释只能位于一条语句的后面D.一个C程序总是从main函数开始执行4.下列合法的标识符为A.abde+B. #KDJFC. 67KDJD. DK3_5.关于字符串和字符的关系正确的是A.“A”与’A’是相同的B.字符串是常量,字符是变量C.“A”与’A’是不同的D.“A ”与“A”是相同的6.下面关于语句的说法正确的是A.下面这两段程序的执行效果是一致的B.空语句是只有一个分号的语句,它其实什么也不干C.语句的构成不一定需要分号D.语句的书写对程序的运行不起作用,因此可以随便写都可以7.以下各标识符中,合法的用户标识符组为 D 。
A.PAd,P#d,b-b,abc,_0123,ssipedB.cin,a10,CPP,float,del_word,signedC.void,max,hiy,<fr>,list,*jerD.a,temp,_isw,INT,keep,wind8.字符串“\”EOF= -\61\””的长度是。
A.8 B.9 C.12 D.非法字符串sin在C程序中对应的不正确的表达式为。
9.数学式xA.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx))C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x)))10.下列是C语言的有效标识符?A._No1 B.No.1 C.12345 D.int 11.C语言中,表示一条语句结束的标号是 BA.# B.; C.// D.}12.每个C程序中都必须有且仅有一个 CA.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是D 。
c语言复习题
c语言复习题一、单项选择题1.以下叙述中错误的是? A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识2、c语言数据的基本类型包括()A、整型、字符型、实型B、整型、字符型、实型、枚举类型C、整型、实型、枚举类型、指针类型 D、整型、字符型、实型、数组类型3.以下不合法的字符常量是A.’\019’B.’\’’’C.’\\’D.’\xcc’4、c语言允许使用的变量标识符是()A、x#yB、12shC、j_c_tD、char5.设有以下语句。
int a=1,b=2,c;c=a^(b<<2);执行后,c的值为 A.6 B.7 C.8 D.96、c语言中合法的字符常量是()A、‘\084’B、‘\X43’C、‘ab’D、“\0”7.下列标识符中,合法的变量名有? A.a.b B.$888 C.A1 D.3x568、若定义x和y为double型,则表达式:x=1,y=x*3/2的值是()A、1B、2C、 2.0D、1.59、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y的结果为()类型A、floatB、char C 、int D、double10、下列表达式中,()可以正确表示x<=0或x>=1的关系A、(x>1)or (x<=0)B、x>1 || x<=0C、x>1 or x<=0D、x>=1 || x<=011.下列不正确的表达式是A.10%3+5%3B.10/3+5/3C.10%3/2D.(10.0/3.0%3)/212.以下四个选项中,不能看作一条语句的是A.{;}B.a=0,b=0,c=0;C.a>0;D.m=1;n=2;13.设x为int 型变量,则执行以下语句后,x的值为x=10;x+=x-=x-x;A.10B.20C.40D.3014、若定义a为整型数据变量则a=-2 L;printf(“%d\n”,a);以上语句结果为()A、赋值语句不合法B、输出值为-2C、输出值为不确定值D、输出值为215、现已定义整型变量int i=1;执行循环语句“while(i++<5)后i的值变为()A、1B、5C、6D、以上三个答案均不正确16、若执行下述程序时,从键盘输入数据3和4,则程序的输出结果是()main(){ int a ,b ,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)< p="">s=b;s=s*s ;printf(“%d”,s);}A、14 B、16 C、18 D、2017、若数组名作为函数参数传递给函数,作为实参的数组名被处理为()A、该数组的长度 B、该数组的元素个数C、该数组中各元素的值 D、该数组的首地址18、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、float型B、int型C、long型D、double型19、在c语言中,存储类型为()的变量只在使用它们的时候才占用存储空间A、static和autoB、register和autoC、static和registerD、register和extern20、下面程序片段的输出结果是()char str[]=“abcd”,*p=str;printf(“%d\n”,*(p+4));A、68 B、0 C、字符‘d’的地址D、不确定的值21、设有以下说明,已知int类型占2个字节,则下列叙述正确的是()struct st{int a;int b[2];} a;A、结构变量名a和结构成员a同名,不合法B、程序运行时将为结构体st分配6个字节的内存单元C、程序运行时不为结构体st分配内存单元D、程序运行时将为结构体变量a分配6个字节的内存单元22、求字符串长度的函数是()A、strcat B、strcpy C、strcmpD、strlen 23.现已定义整型变量 int i=1;执行循环语句“while(i++<5);”后,i的值为A.1B.5C.6D.以上三个答案均不正确24.以下叙述中错误的是A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句25.设有定义:int a=2,b=3,c=4;时,以下选项中值为0的表达式是A.(!a= =1)&& (!b= =0)B.aC. a&&bD.a||(b+b)&&(c-a)26.C语言中,定义PI为一个符号常量,正确的是A.#define PI 3.14B.define PI 3.14C.#include PI 3.14D.include PI 3.1427.下面关于switch语句和break语句的结论中,只有是正确的A.break语句是switch语句中的一部分B.在swtich语句中可以根据需要使用或不使用break语句C.在swtich语句中必须使用break语句D.以上三个结论中有两个是正确的28.有以下程序:main(){int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是 A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和D.自然数1~10的偶数之和29.在C语言函数的定义和引用中,以下描述正确的是A.必须有形式参数B.也可以没有形式参数 C.数组名不能作为形式参数 D.形式参数必须是变量名30.下列关于return语句的说法,正确的是A.必须在每个函数中都出现B.只能在除主函数之外的函数中出现一次C.可以在同一个函数中多次出现D.在主函数和其他函数中都可以出现31.下列说法不正确的是A.形式参数是局部变量B.主函数main 中定义的变量在整个文件或程序中都又效C.在一个函数的内部,可以在复合语句中定义变量D.不同的函数中,可以使用相同名字的变量32.以下叙述正确的是A.do-while语句构成的循环不能用其它语句构成的循环来代替B.do-while语句构成的循环只能用break语句退出C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.用do-while语句构成的循环,在while后的表达式为零时结束循环33.下列数组定义语句正确的是A.int a[][]={1,2,3,4,5,6};B.char a[2][3]=’a’,’b’C.int a[][3]={1,2,3,4,5,6};D.static int a[][]={{1,2,3},{4,5,6}}; 34.若定义int a[3][4];则下列选项不能表示数组元素a[1][1]地址的是A.a[1]+1B.&a[1][1]C.*(a+1)[1]D.*(a+5)35.已知int 和double类型分别占2个和8个字节,若有如下定义:Struct data{ int i;char ch;double f;}b;则结构变量b占用内存的字节数是 A.7 B.2 C.8 D.1136.对于以下递归函数f,调用f(4),其返回值为int f(int n){ return f(n-1)+n;}A.10 B.11 C.0 D.以上均不是37.有以下程序:main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}程序运行后的输出结果是 A.16 B.10 C.8 D.638.C语言中操作文件的正确顺序是A.读写,关闭,打开B.打开,读写,关闭C.打开,关闭,读写D.读写,打开,关闭39.定义union s{int w,x,y,z;char c[6];};,请问执行sizeof(union s)=A.2B.6C.8D.1440.说明语句int *f();中的标识符f代表A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名二、填空题1.设有程序段:int k=10;while(k=0) k=k-1;则循环体语句执行次。
C期末考试复习题(答案)
C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
c语言复习题
C语言复习题一、单项选择题(每小题2分)1. 对于一个正常运行的C程序,以下叙述正确的是_______。
A. 程序的执行总是从main()开始,在main()中结束。
B. 程序的执行总是从第一个函数开始,在main()中结束。
C. 程序的执行总是从main()开始,在最后一个函数中结束。
D. 程序的执行总是从main()开始,在最后一个函数中结束。
2. 下列数据中,为字符型常量的是_______。
A. "ab"B. "a"C.‘a’D. a3. int u=010,v=0x10,w=10; printf("%d,%d,%d\n",u,v,w);则输出结果是_______。
A. 8,16,10B.10,10,10C. 8,8,10D. 8,10,104. (a=3)&&(b=-3)的运算结果是_______。
A. -3B. 1C. 0D. 35. 在C语言中,字符串"\xaf\thello\65"的长度是_______。
A. 5 B.7 C. 8 D. 126. 设float x,由键盘输入:12.45, 能正确读入数据的输入语句是_________。
A.scanf("%5f",&x);B.scanf("%5d",&x);C.scanf("%f",x);D.scanf("%s",&x);7.int a=65,则printf("%d,%o,%x",a,a,a)的结果是_________。
A. 65,65,65B. 65,101,41C. A,101,41D. 65,41,1018. char c1=’a’,c2=’b’; c1=getchar(); c2=getchar();运行程序时,从键盘输入a<Enter键>,以下说法正确的是_________。
c语言复习题
A. 6 B. 7 C. 11 D. 12
(10) 合法的数组定义是( )。 A
A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5}
A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n];
(4) 对字符数组进行初始化,( )形式是错误。 B
A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123";
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分别为 1 、 0 、 1 、 1 。
(8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。 A
A. 6 B. 7 C. 11 D. 12
(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。 D
C语言复习题及答案
复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。
x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。
A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。
A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。
A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。
c语言复习题(49题)
以下作业编程练习,每个主题至少选择4道题作为作业题(各主题中所列题目不足4题的按实际数量选做)。
每次作业计2分,作为平时成绩。
另外,此练习题作为C 语言上机考试的考题来源之一(共49题)。
一、 顺序结构程序设计========================================1 已知三角形的三边长为a ,b ,c ,计算三角形面积的公式为: area = ))()((c s b s a s s ---,s =)(21c b a ++ 要求编写程序,从键盘输入a ,b ,c 的值,计算并输出三角形的面积。
2 编程从键盘输入圆的半径r ,计算并输出圆的周长和面积。
二、 选择结构程序设计==========================================1 从键盘任意输入一个年号,判断它是否是闰年。
若是闰年,输出“Yes ”,否则输出“No ”。
已知符合下列条件之一者是闰年:能被4整除,但不能被100整除。
能被400整除。
2 通过键盘输入一个字符,判断该字符是数字字符、大写字母、小写字母、空格还是其他字符。
3 华氏和摄氏温度的转换公式为C =5/9×(F -32)。
其中,C 表示摄氏温度,F 表示华氏温度。
要求:华氏0℉~300℉,每隔20℉输出一个华氏温度对应的摄氏温度值。
4 编程判断输入整数的正负性和奇偶性。
5 编程计算分段函数e 1exx y -⎧⎪=⎨⎪-⎩ 000x x x >=< 输入x ,打印出y 值。
流程图如图1-2所示。
6 输入三角形的三条边a ,b ,c ,判断它们能否构成三角形。
若能构成三角形,指出是何种三角形(等腰三角形、直角三角形、一般三角形)。
7 在屏幕上显示一张如下所示的时间表:*****Time*****1 morning2 afternoon3 nightPlease enter your choice:操作人员根据提示进行选择,程序根据输入的时间序号显示相应的问候信息,选择1时显示"Good morning", 选择2时显示"Good afternoon", 选择3时显示"Good night",对于其他选择显示"Selection error!",用switch 语句编程实现。
(完整版)C语言各章节复习题(带答案)
一、C语言概述练习题选择1.一个C程序的执行是从。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。
A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。
A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。
C语言复习题及参考答案
C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。
c语言期末复习试卷
复习题(一)1。
用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。
【答案】编译目标2。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
C语言复习题及答案
C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。
A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。
A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。
A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。
A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。
A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。
A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。
A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。
A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。
A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。
A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。
A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。
A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。
A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。
A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。
C复习题(全部答案)
C复习题(全部答案)一、C++基础、变量、常量部分试题:(一)单选题8.由C++语言编写的代码程序()A.可直接执行(.e某e才可以直接执行)B.是一个源程序C.经过编译即可执行(经过编译链接才可以执行)9.按照C++语言规定的用户标识符命名规则,不能出现在标识符中的是()A.大写字母10.下列选项中,不能用作标识符的是()A._1234_11.以下选项中合法的用户标识符是()A.long(关键字)12.以下不能定义为用户标识符的是()A.Main13.列定义变量的语句错误的是()A.int_int;14.在C++语言中,非法的字符常量是()A.‘\\t’29.以下程序的输出结果是()voidmain(){intk=11;cout<A.k=11,k=12,k=1141.B.k=11,k=13,k=13D.k=11,k=13,k=bC.k=11,k=013,k=0某bB.‘\\017’C.\D.‘\\某aa’B.doubleint_;C.charFor;D.floatUSA;B._0C._intD.izeof(运算符)B._2TetC.3Dma某D.A.datB._1_2C.int_2_D.2_intB.中划线C.数字字符D.下划线D.经过编译解释才能执行不属于C++语言关键字的是()。
A.intB.breakC.whileD.character42.是C++语言提供的合法关键字的是()。
A.FloatB.ignedC.integerD.Char43.下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数(二)填空题1.一个C++源程序至少有并且只能有一个main(主)函数。
《c》复习题集及答案
目录一、单选题1. C++源程序文件的缺省扩展名为( A )。
A. cppB. exeC. objD. lik2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。
A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。
A. cppB. exeC. objD. lik4. 编写C++程序一般需经过的几个步骤依次是( B )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接6. 能作为C++程序的基本单位是( C )。
A. 字符B. 语句C. 函数D. 源程序文件8. C++程序的基本模块为( D )。
A. 表达式B. 标识符C. 语句D. 函数10. 存储以下数据,占用存储字节最多的是( D )。
A. 0B. ‘0’C. “0”D. 0.038. 以下说法中正确的是( B )。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main函数开始执行C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中40. 函数重载是指( A )。
A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 两个以上的函数名字不同,但形参的个数或类型相同D. 两个以上的函数取相同的函数名,并且函数的返回类型相同41. 以下关于函数模板叙述正确的是( C )。
A. 函数模板也是一个具体类型的函数B. 函数模板的类型参数与函数的参数是同一个概念C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数D. 用函数模板定义的函数没有类型42. 下列( C )的调用方式是引用调用。
A. 形参和实参都是变量B.形参是指针,实参是地址值C. 形参是引用,实参是变量D.形参是变量,实参是地址值43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。
C语言复习题
C语言复习题一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 A 。
A. mainB. MAINC. nameD. function2. 在以下关于C 语言的注释的叙述中,不正确的是C 。
A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是。
A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+B. #KDJFC. 67KDJD. DK3_5. 关于字符串和字符的关系正确的是A. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为D 。
A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”EOF=-\61\””的长度是。
C复习题
一、选择题(每题3分,计60分)1、下面有关for 循环的正确描述是(D)。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。
2、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)A. int a=b=c=5;B. int a,b,c=5;C. int a=5,b=5,c=5;D. a=b=c=5;3、逻辑运算符两侧运算对象的数据类型(D)A. 只能是0和1B. 只能是0或非0的正数C. 只能是整型或字符型数据D. 可以是任何类型的数据4、下列运算符中优先级别最高的是(B)A. <B. +C. &&D. =5、为了避免嵌套的if…else语句的二义性,c语言规定else总是与(C )组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD. 同一行上的if6、程序段如下:则以下说法中正确的是:(D)。
int k=5;do{k--;}while(k<=0);A. 循环执行5次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次7、判断char型变量c1是否为小写字母的正确表达是(D)A. ‘a’<=c1<=’z’B. (c1>=a)&&(c1<=z)C. (‘a’>=c1)||(‘z’<=c1)D. (c1>=’a’)&&(c1<=’z’)8、C语言中,char类型数据占(A)A. 1个字节B. 2个字节C. 4个字节D. 8个字节9、以下关于数组的描述正确的是(C)。
A. 数组的大小是固定的,但可以有不同的类型的数组元素。
B. 数组的大小是可变的,但所有数组元素的类型必须相同。
c语言复习题
c语言复习题一、单项选择题1. ___D___是合法的用户自定义标识符。
A、b-bB、floatC、D、_isw2. 若变量已正确定义并赋值,表达式___B___不符合C语言语法。
A、a*b/c;B、3.14%2C、2, bD、a/b/c3. ___C__是不正确的字符常量。
A、'\n'B、'1'C、"a"D、'\101'4. 在C 程序中,用__B___表示逻辑值“真”。
A、1B、非0 的数C、非1 的数D、大于0 的数5. ___C___把x、y定义成float类型变量,并赋同一初值3.14。
A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,表达式____C__的值不是2。
A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。
A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8.设变量定义为“int a, b;”,执行下列语句时,输入___D__,则a和b的值都是10。
scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109.下列程序的输出结果是__D___。
fun(int a, int b, int c){ c =a*b; }main( ){ int c;fun(2,3,c);printf(”%d\n”,c);}A、0B、1C、6D、无法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。
C复习题
一、选择题1.以下叙述中正确的是( )。
A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C) main()函数必须放在其它函数之前D)所有被调用的函数一定要在调用之前进行定义。
2.以下选项中合法的用户标识符是( )。
A) long B) _2Test C) 3Dmax D) A.dat3.当执行以下程序时( )。
x=-1;do{ x=x*x;}while(!x)A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误4.已知字母A的ASCⅡ码为十进制数65,且C2为字符型,则执行语句C2=’A’+’6’-’3’;后,C2中的值为( )。
A) C B) 69 C) 不确定的值 D) D5.以下选项中,与k=n++完全等价的表达式是( )。
A) k=n, n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+16.C语言提供的合法的数据类型关键字是( )。
A) Double B) short C) integer D) Char7.以下程序的输出结果是( )。
main(){ int a=1,b=2,c=3,k;k=a+++b+++c++;printf(“\n%d, %d, %d, %d”, a, b, c, k); }A) 1,2,3,6 B) 2,3,4,6C) 1,3,3,7 D) 1,3,3,68.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是( )。
A) a≠0 B) !a C) a=0 D) a9.若有说明语句int x, y; , 则计算表达式x=(y=4,++y,y+4); 后x的值为( )。
A) 5 B) 6 C) 8 D) 910.当a=3, b=2, c=1时,表达式f=a>b>c; 的值是( )。
A) 1 B) 0 C) true D) false11.有如下程序main(){ int a=2, b=-1, c=2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是( )。
c语言复习试题及答案
c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。
答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。
答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。
答案:09. `printf` 函数的返回类型是_______。
答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。
答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。
12. 解释C语言中数组和指针之间的关系。
答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。
通过指针可以遍历数组,也可以通过指针修改数组元素的值。
四、编程题13. 编写一个C语言程序,实现对整数数组的排序。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》复习题(一)一、选择题1.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)22.下列四组选项中,均不是C语言关键字的选项是A)define B)geto C)include D)whileIF char scanf gotype printf case pow3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第-个字符A) 必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任-种字符4.以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
5.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++, sum++,++num后sum的值为A)7 B)8 C)9 D)106.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000 B)2.7500OO C)3.500000 D)0.000000。
7.在C语言中,char型数据在内存中的存储形式是:A)补码 B)反码 C)原码 D)ASCII码8.设C语言中,-个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:A)0~255 B)0~32767 C)0~65535 D)0~21474836479.若有以下定义,则正确的赋值语句是:int a,b;float x;A) a=1,b=2, B)b++; C) a= b= 5 D) b= int(x);10.若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是__。
A)(p++)->num B)p++ C)(*p).num D)p=&stu.age11.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是A)一个整型变量,代表要读入的数据项总数 B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址 D)一个存储区,存放要读的数据项12.下关于运算符优先顺序的描述中正确的是A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B)逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符13.若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假"。
则以下不能满足要求的表达式是:A) A%2==1 B)!(A%2 ==0) C)!(A%2) D) A%214.设有程序段int k=10;while (k=0) k= k-1;则下面描述中正确的是A) while循环执行10次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次15.以下程序段x= -1;do{x=x*x;}while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误16.以下能对一维数组a进行正确初始化的语句是A)int a[10]=(0,0,0,0,0) B)int a[10]={} C)int a[]={0}; D) int a[10]={10*1};17.C语言规定,函数返回值的类型是由A) return语句中的表达式类型所决走 B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定 D)在定义该函数时所指定的函数类型所决定18.以下正确的描述是在C语言程序中A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套 D)函数的定义和函数的调用均可以嵌套19.以下正确的描述是A)C语言的预处理功能是指完成宏替换和包含文件的调用B)预处理指令只能位于C源程序文件的首部C)凡是C源程序中行首以"#"标识的控制行都是预处理指令D)C语言的编译预处理就是对源程序进行初步的语法检查20.若有说明语句char a[]="It is mine";char *p="It is mine";则以下不正确的叙述是A)a+1表示的是字符t的地址 B)p指向另外的字符串时,字符串的长度不受限制C)p变量中存放的地址值可以改变 D)a中只能存放10个字符21若有定义:int (* p)[4];则标识符pA)是一个指向整型变量的指针 B)是一个指针数组名C)是一个指针,它指向一个含有四个整型元素的一维数 D)说明不合法22.若有定义: int *p[4];则标识符pA)是一个指向整型变量的指针、 B)是一个指针数组名C)是一个指针,它指向一个含有四个整型元素的一维数组 D)说明不合法23.若有以下定义:int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*p)[3]=x;则能够正确表示数组元素x[1][2]的表达式是A)*((*p+i)[2]) B)(*p+l)+2 C)*(*(p+5)) D)*(*(p+i)+2)24.-个C程序的执行是从A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束25.-个C语言程序是由A)-个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成26.合法的数组定义是A)int a[]="string"; B)int a[5]={0,1,2,3,4,5};C)vhst s="string"; D)char a[]={0,1,2,3,4,5};27.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A)*p B)a[10] C)*a D)a[p-a]28.若有以下程序片段:char str[]="ab\n\012\\\"";printf(%dd",strlen(str));上面程序片段的输出结果是A)3 B)4 C)6 D)1229.以下对C语言函数的有关描述中,正确的是A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B)C函数既可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)C程序中有调用关系的所有函数必须放在同一个源程序文件中30.下面各语句行中,能正确给字符串数组赋值的语句行是A.char ST[4][5]={ “ABCDE”};B.char S[5]={‘A’, ‘B’, ‘C’, ‘D’, ‘E’};C.char *S; S=“ABCDE”;D.char *S; scanf( “%S”, S);31.下列程序执行后的输出结果是#define MA(x) x*(x-1)main( ){ int a=1, b=2; printf( “%d\n”, MA(1+a+b)); }A. 6B. 8C. 10D. 1232.C 中的多行注释符为___________A> " " B> () C> <> D> /* */二.写程序结果1.以下程序段的运行结果是__________。
int x=1,y=0;switch(x){ case 1:switch(y){ case 0: printf(“* * 1 * * \n”); break;case 1: printf(“* * 2 * * \n”); break; }case 2: printf(“* * 3 * * \n”);}2.请读程序:运行结果是__________。
#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++; break;case 1: b++; break;}case 2:a++; b++; break;}printf(“a=%d,b=%d”,a,b);}3.以下程序的运行结果是___________。
int x1=30,x2=40;main(){ int c3=10,x4=20;sub(x3,x4);sub(x2,x1);printf(“%d,%d,%d,%d\n”,x3,x4,x1,x2);}sub(int x,int y){ x1=x;x=y;y=x1;}4.以下程序的运行结果是__________。
#include <stdio.h>func(int array[][4], int m){ int i,j,k;k=0;for(i=0; i<3; i++)for(j=0; j<4; j++)if(array[i][j]<m) k=k+array[i][j];return(k);}main(){ static int a[3][4]={{1,13,5,7},{2,4,26,8},{10,1,3,12}};int i,j,m;for(i=0; i<3; i++){ for(j=0; j<4; j++) printf(“%4d ”,a[i][j]);printf(“\n”);}m=10;printf(“\nthe value is %d\n”,func(a,m));}5. 该程序段输出结果是:for(I=0;I<5;I++){ for(j=1;j<10;j++)if(j==5) break;if(I<2) continue;if(I>2) break;printf(“%d,”,j);}printf(“%d\n”,I);6. 该程序段输出结果是:void main(){int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],I;for(I=0;I<4;I++)p[I]=&a[I*3];printf("%d\n",p[3][2]);}三、判断题1.C语言本身没有输入输出语句。