C语言复习题

合集下载

C语言复习60题

C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。

02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。

04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。

B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。

D、__int。

09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。

C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。

12写出下式的运算结果:10/3*3、0正确答案是:9、0。

c语言习题

c语言习题

二.填空题 1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为 _1B__,其数值范围为 0~127 ;一个int数据在内存中所占字节数为 2B ,其数值范围为-32768~32767 ;一个long数据在内存中所占字节 数为 4B ,其数值范围为 -2147483648~2147483647 ;一个float 数据在内存中所占字节数为 4B ,其数值范围为 -3.4*1038~-3.4*10-38, 3.4*10-38~3.4*1038 。 2.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且 第一个字符必须为 字母 。 3.字符常量使用一对 单引号 界定单个字符,而字符串常量 使用一对 双引号 来界定若干个字符的序列。
3.函数体一般包括( 变量定义序列 ) 和( 执行语句序列
二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结 束。 【 √ 】 2.main函数必须写在一个C程序的最前面。 【 × 】 3.一个C程序可以包含若干的函数。【 √ 】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运 行不起任何作用。但是可以增加程序的可读性。【 √ 】 5.C程序的注释只能是一行。【 × 】 6.C程序的注释不能是中文文字信息。【 × 】 8.可以使用Turbo C来编译和连接一个C程序。【 √ 】 9.可以使用Turbo C来运行一个C程序。【√ 】 10.可以使用Turbo C来实时调试(即动态调试)一个C程序。【 √ 】 三.简答题 1. 写出一个C程序的基本结构。 预处理命令序列 void main() { 变量定义序列 执行语句序列 } 2. 简要叙述使用Turbo C 2.0编译和运行一个程序的步骤。 1)编辑源程序,以扩展名.c存盘。

c语言复习题

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语言复习题一、单项选择题(每小题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语言复习题

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语言复习题及答案

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语言复习题一、单项选择题(每题3分)1.以下变量声明正确的是(D)A: int i = 0;int i = 5; B: int i = 0;j = 5;C: int i = 0,int j = 5;D: int i = 0;{ int i = 5;}2.下面代码的输出结果为(B)int main(void){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return 0;}A: 10,11,110 B: 10,12,120 C: 11,12,120 D: 11,11,110 3.下面代码运行后m的结果为(C)int m = 6;m = (m%3*4)?m/4:--m;printf("%d",m);A:1 B:2 C:5 D:64.下面代码运行后输出'*'的个数为(A)for (int j = 5; j<=10; ++j) {for (int i =0; i<10; i++) {printf("*");}}A:60 B:50 C:15 D:165.以下代码输出的结果为(D)int m = 0;for (int i = 0; i<5; i++) {switch (i) {case 0:m++;case 1:m++;break;case 2:m++;continue;case 3:m++;break;default:m++;continue;}m++;}printf("%d",m);A:12 B:11 C:10 D:96.以下代码运行的结果为(B)int i = 1,m = 1;for (; i<10; i++) {if (i/2 == 2 || i%4==0) {for (int j = 4; j < i; j++) {m+=j;}}}printf("m = %d",m);A: 26 B: 27 C: 28 D: 297. break关键字在哪一种语法结构中不能使用? (C)A: for语句B: switch语句C: if语句D: D. while语句8.下列数组说明中,正确的(C)A:int array[][]={0}; B:int array[3][]={0};C:int array[][4]={0};D:int array[][][5]={0};9.设变量定义为int x, *p=&x;则&(*p)相当于(C)A: *(&x) B: *p C: p D: x 10.下列选项中正确的语句组是(D)。

(完整版)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 语言复习题(完整版)

所有单选题1、C语言中下列叙述正确的是__d____。

A:不能使用do-while语句构成的循环B:do-while语句构成的循环,必须用break语句才能退出C:do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 1真0假,1 进入循环 D:do-while语句构成的循环,当while语句中的表达式值为零时结束循环答案:D2、以下选项中属于C语言的数据类型是__C____。

A:复数型B:逻辑型C:双精度型D:集合型答案:C3、下列描述中不正确的是__C____。

A:字符型数组中可以存放字符串B:可以对字符型数组进行整体输入、输出C:可以对整型数组进行整体输入、输出D:不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值答案:C4、以下程序的输出结果是______。

main(){ int x=10,y=10,i;for(i=0;x>8 ;y=++i)printf("%d %d ",x--,y);}A:10 1 9 2B:9 8 7 6C:10 9 9 0D:10 10 9 1答案:D5、以下程序的输出结果是______。

main(){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i ;i=8;p=a+i;printf("%s\n",p-3);}A:6B:6789C:'6'D:789答案:B6、能正确表示a和b同时为正或同时为负的逻辑表达式是__D____。

A:(a>=0||b>=0)&&(a<0|| b<0)B:(a>=0&&b>=0)&&(a<0&&b<0)C:(a+b>0)&&(a+b<=0)D:a*b>0答案:D7、以下程序的输出结果是__A____。

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

C 语言程序设计复习题一、选择题1.下列选项中可作为C 语言合法常量的是(a )。

A)-80 B)-080C)-8e1.0 D)-80.0e2.下列不能定义的用户标识符是(d )。

A)Main B)_0C)_int D)sizeof3.下列选项中,不能作为合法常量的是(b )。

A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e04.有定义语句:int b; char c[10];,则正确的输入语句是(b )。

A)scanf("%d%s",&b,&c); B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);5.设有变量定义int a,b,d=25;则语句a= d/10%9, b=a&&(-1);执行之后a、b变量的值为(b)A)a=6,b=1 B)a=2,b=1C)a=6,b=0 D)a=2,b=06.下列程序段的输出结果是(d )。

int i=1,j=2,k=3;if(i+ + = =1&&(+ +j= =3‖k+ + = =3)) printf("%d %d %d\n",i,j,k);A)1 2 3 B)2 3 4C)2 2 3 D)2 3 37.若整型变量a、b、c、d 中的值依次为:1、4、3、2。

则条件表达式a<b? a∶c<d? c∶d 的值是(a )。

A)1 B)2C)3 D)48.设有定义语句:char a[7]="a0\0a0\ 0"; 则sizeof(a)和strlen(a)的值分别为(c )。

A)2 2 B)7 6C)7 2 D)6 29.下列能正确定义一维数组的选项是(b )。

A)int a[5]={0,1,2,3,4,5}; B)char a[ ]={0,1,2,3,4,5};C)char a={'A', 'B', 'C'}; D)int a[5]="0123";10.已有定义:char a[ ]="xyz",b[ ]={'x', 'y', 'z'};,下列叙述中正确的是(c )。

A)数组a 和b 的长度相同B)a 数组长度小于b 数组长度C)a 数组长度大于b 数组长度D)上述说法都不对11.下列语句或语句组中,能正确进行字符串赋值的是(d )。

A)char *sp; *sp="right!"; B)char s[10]; s="right!";C)char s[10]; *s="right"; D)char *sp="right!";12.下列叙述中错误的是(a )。

A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中、大、小写字母代表不同标识13.下列能正确定义且赋初值的语句是(b )。

A)int nl=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;14.设有定义:int k=1,m=2; float f=7;则下列选项中错误的表达式是(c )。

A)k=k>=k B)-k+ +C)k%int(f) D)k>=f>=m15.设有定义:int a=2,b=3,c=4;,则下列选项中值为0 的表达式是(a )。

A)(!a= =1)&&(!b= =0) B)(a<b)&&! c‖1C)a && b D)a‖(b+b)&&(c-a)16.有下列程序段:int k=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;执行该程序段后,k 的值是(b )。

A)3 B)2 C)1 D)017.设变量已正确定义,则以下能正确计算f=n!的程序段是(d )。

A)f=0; B)f=1;for(i=1;i<=n;i+ +) f*=i; for(i=1;i<n;i+ +) f*=i;C)f=1; D)f=1;for(i=n;i>1;i+ +)f*=i; for(i=n;i>=2;i--)f*=i;18.设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是(a )。

A)*p=*q; B)p=q; C)*p=&n1; D)p=*q;(29)若有定义:int x=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是(b )。

A)随机值B)0 C)x 的地址D)p 的地址19.设fun()函数的定义形式为void fun(char ch,float x){…}则下列对函数fun 的调用语句中,正确的是(c )。

A)fun("abc",3.0); B)t=fun('D',16.5);C)fun('\65',2.8); D)fun(32,32);20.有下列程序:#include <stdio.h>int main( ){ char c1='1',c2='2';c1=getchar( ); c2=getchar( ); putchar(c1); putchar(c2);return 0;}当运行时输入:a<CR>后,下列叙述正确的是(a )。

A)变量c1 被赋予字符a,c2 被赋予回车符B)程序将等待用户输入第2 个字符C)变量c1 被赋予字符a,c2 中仍是原有字符2D)变量c1 被赋予字符a,c2 中将无确定值21.下列不合法的字符常量是(a )。

A)'\018' B)'\" 'C)'\\' D)'\xcc'22.表达式3.6-5/2+1.2+5%2 的值是(d )。

A)4.3 B)4.8C)3.3 D)3.823.下列能正确定义字符串的语句是(d )。

A)char str[ ]={'\064'}; B)char str="kx43";C)char str="; D)char str[ ]="\0";24.下列数组定义中错误的是(b )。

A)int x[ ][3]={0};B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[ ][3]={{l,2,3},{4,5,6}};D)int x[2][3]={l,2,3,4,5,6};25.下列4 个程序中,完全正确的是(b )。

A)#include <stdio.h> B)#include <stdio.h>int main( ); int main( ){/*programming*/ {/* / programming / */printf("programming! \n"); printf("programming!\n"); return 0;} return 0;}C)#include <stdio.h> D)include <stdio.h>int main( ) int main( ){/* / programming*/ */ { /*programming */printf("programming! \n"); printf("programming! \n");return 0;} return 0;}26.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch 语句是(c )。

A)switch(x) B)switch((int)x);{ case 1.0: printf("*\ n"); { case 1: printf("*\n");case 2.0: printf("**\ n"); case 2: printf("**\n");} }C)switch(a+b) D)switch(a+b){ case 1: printf("*\n"); { case 1: printf("* \n");case 2+1: printf("** \n"); case c: printf("** \n");} }27.若各选项中所用变量已正确定义,fun()函数中通过return 语句返回一个函数值,下列选项中错误的程序是(a )。

A) int main( ) B)float fun(int a,int b){……}{……x =fun(2,10); ……} int main( )float fun(int a,int b) {……} {……x =fun(i,j); ……}C)float fun(int,int); D) int main( )int main( ) {float fun(int I,int j);{……x =fun(2,10); ……} ……x =fun(i,j); ……}float fun(int a,int b) {……} float fun(int a,int b) {……}28.要求通过while 循环不断读入字符,当读入字母N 时结束循环。

若变量已正确定义,下列正确的程序段是(a )。

A)while( (ch=getchar( ))! ='N') printf("%c",ch);B)while(ch=getchar( )! ='N') printf("%c",ch);C)while(ch=getchar( )= ='N') printf("%c",ch);D)while((ch=getchar( ))= ='N') printf("%c",ch);29.已定义下列函数:int fun(int *p){ return *p; }fun 函数返回值是(b )。

相关文档
最新文档