c选择练习题

合集下载

c语言练习1

c语言练习1

练习1一、选择题1、一个C程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2、一个C程序的执行是从( A )。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束3、C语言语句的结束符是(B)。

A.回车符B.分号C.句号D.逗号4、下面标识符中( D )不是C语言的关键字。

A.char B.goto C.case D.include5、以下说法正确的是(A)A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

B.C程序的注释只能是一行。

C.C程序的注释不能是中文文字信息。

D.C程序的注释中存在的错误会被编译器检查出来。

6、以下说法正确的是(D)A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。

7、设x、y均为float型变量,则以下不合法的赋值语句是(B)A.++x ; B.y=(x%2)/10 ; C.x*=y+8; D.x=y=0 ;解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。

8、下列不正确的转义字符是(C)A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。

十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。

C语言习题选2

C语言习题选2

第一章、 数组一.选择题 1.若有语句int a[8];则下述对 a 的描述正确的是( A )。

(A )定义了一个名称为a 的一维整型数组,共有8个元素 (B )定义了一个数组a ,数组a 共有9个元素 (C )说明数组a 的第8个元素为整型变量 (D )以上可选答案都不对 2.在C 语言中,引用数组元素时,其数组下标的数据类型允许是( C )。

(A )整型常量 (B )整型表达式 (C )整型常量或整型表达式 (D )任何类型的表达式 3.下述对C 语言字符数组的描述正确的是( A )。

(A )任何一维数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占用存储空间 (B )一维数组的元素在引用时其下标大小没有限制 (C )任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间 (D )一维数组的第一个元素是其下标为1的元素 4.下述对C 语言字符数组的描述中正确的是(B )。

(A )任何一个一维数组的元素在引用时,其下标可以是整型、实型或字符型常量 (B )一维数组的元素实质上就是一个变量,代表内存中的一个存储单元 (C )如果要引用数组中的每一个元素,则直接使用该数组名称即可? (D )以上都不对 5.以下对一维整型数组a 的正确说明是(D )。

(A )int a(10); (B)int n=10,a[n]; (C) int n; scanf(“%d ”,&n);int a[n]; (D) #define SIZE 10 int a[SIZE]; 6.以下能对一维数组a 进行正确初始化的语句是( C )B? (A )int a[10]=(0,0,0,0,0);(B )int a[10]={};(C )int a[]={0};(D )int a[10]=(10*1); 7.若有说明:int a[3][4];则对a 数组元素的正确引用是( C ) (A )a[2][4] (B )a[1,3] (C )a[1+1][0] (D )a(2)(1) 8.以下能对二维数组a 进行正确初始化的语句是(B ) (A )int a[2][]={{1,0,1},{5,2,3}};(B )int a[][3]={{1,2,3},{4,5,6}}; (C )int a[2][4]={{1,2,3},{4,5},{6}};(D )int a[][3]={{1,0,1}{},{1,1}}; 9.若有说明:int a[3][4]={0};则下面正确的叙述是( D ) (A )只有元素a[0][0]可得到初值0(B )此说明语句不正确 (C )数组a 中各元素都可得到初值,但其值不一定为0 (D )数组a 中每个元素均可得到初值0 10.以下各组选项中,均能正确定义二维实型数组a 的选项是( C ) (A )float a[3][4]; float a[][4]; float a[3][]={{1},{0}}; (B )float a(3,4); float a[3][4]; float a[][]={{0};{0}}; (C )float a[3][4]; static float a[][4]={{0},{0}}; (D )float a[3][4]; float a[3][]; 11.若二维数组a 有m 列,则计算任一元素a[i][j]在数组中位置的公式为( D ) (假设a[0][0]位于数组的第一个位置上。

C语言各章练习题

C语言各章练习题
A、1B、2C、3D、4
6.设shortint型的数据长度为2个字节,则unsignedshort类型数据的取值范围是()P34
A、均为2个字节B、0至65535C、-3276至32767D、-256至255
7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)
A、-80.0B、-080C、-8e1.2D、-80.0e
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()
A、m=123n=456p=789B、m=123 n=456 p=789
C、m=123,n=456,p=789D、123 456 789
30.?shortint a=-2;printf(“%hu”,a);输出为( )
23.putchar函数可以向终端输出一个()P65
A、整数B、实数C、字符串D、字符
24.设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是()
A、2 3B、2,3C、2;3D、2
3
25.设变量定义为int a,b;执行下列语句时,输入( ),则a和b的值都是10
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是()
A、12353514B、12353513C、12343514D、12343513
29.有以下程序
main()

计算机C语言选择题练习

计算机C语言选择题练习

概述1.在C语言中,合法的字符常量是()。

“A”…A‟A.'字'B. "A"C. "ABC"D. '\x41' …\n‟2.下面叙述正确的是()。

A.程序中必须包含有输入语句B. 变量按所定义的类型存放数据C. main函数必须位于文件的开头D. 每行只能写一条语句3.错误的叙述是()。

A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main( )函数D.构成C语言源程序的基本单元是算术表达式4.()是关于C语言数据类型的正确叙述。

A.变量必须先定义后使用B. 不允许使用空类型C. 枚举类型不是基本类型D. 数组并不是构造类型5.main( )函数的位置()。

A.必须在自定义函数前面B. 可以在自定义函数后面C. 必须位于程序的最前面D. 必须在自定义函数后面6.C语言函数体由()括起来。

A.< >B. ( )C. { }D. [ ]7.()是不正确的叙述。

A.注释说明只能位于一条语句的后面B. C源程序的基本组成单元是函数C. C源程序可由一个或多个函数组成D. 每条语句最后必须有一个分号8.一个C语言源程序是由()。

A.一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成9.结构化程序设计的三种基本结构是()。

A.函数结构、判断结构、选择结构B. 平行结构、嵌套结构、函数结构C. 顺序结构、选择结构、循环结构D. 判断结构、嵌套结构、循环结构10.C源程序的调试是指对源程序进行()。

A.录入与编辑B. 查错与编译C. 查错与排错D. 连接与运行11.C语言中,可将一系列语句置于()从而构成复合语句。

A.一对尖括号"< >"之间B. 一对圆括号"( )"之间C. 一对花括号"{ }"之间D. 一对方框号"[ ]"之间12.构成C源程序的基本单位是()。

C语言练习题及答案

C语言练习题及答案

综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。

A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A)C)356e39、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。

C语言练习题

C语言练习题

一、选择题(每题 1 分,共20 分)1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。

A、循环B、递归C、转移D、嵌套2.下列标识符中,合法的是_______ 。

A) unsigned B) 5ab C) INT# D)_num23.若float x ;x = 10/4 ;x的值是。

A、B、2.0 C、3 D、24.表达式!x 等价于。

A、x==0B、x==1C、x != 0D、x != 15.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。

A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.能将高级语言编写的源程序转换为目标程序的是。

A、链接程序B、解释程序C、编译程序D、编辑程序7.下列语句定义pf为指向float类型变量f的指针,是正确的。

A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f;8.一个C程序的执行是从。

A、本程序的main函数开始,到main函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束9.能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。

A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B、(x>=1)||(x<=10)||(x>=200)||(x<=210)C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D、(x>=1)||(x<=10)&&(x>=200)||(x<=210)10.对两个数组a和b进行如下初始化char a[]=“ABC DEF”;char b[]={ ‘A’,’B’,’C’,’D’,’E’,’F’};则以下叙述正确的是。

C语言-基本选择题及参考答案

C语言-基本选择题及参考答案

精心整理计算机程序设计基础(C语言)单项选择练习题一、基本概念1. CA)2.(A3.C4.C。

5ABC、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是(D)。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

7. 下列说法错误的是:(B)A.C程序运行步骤是编辑、编译、连接、执行。

8.9. 生10.A.由于C源程序是高级语言程序,因此一定要在TC软件中输入。

B.由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。

C.由于C程序是高级语言程序,因此输入后即可执行。

D.由于C程序是高级语言程序,因此它是由命令组成的。

二、数据类型、运算符与表达式1. 不是C语言提供的合法关键字是(B)。

A.switchB.cherC.caseD.default2.C语言提供的合法关键字是(D)。

A.nextB.stringC.do caseD.default3.4.5.A6.78.9A) %x B) a+b C) a123 D) 12310. 请选出可用作C语言用户标识符的一组标识符( B )A) void B) a3_b3 C) ForD) 2adefine _123 -abcDOWORD sum Case sizeof11、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it3paiC12.13.CAC14A15.16.17.A) “B” B) ‘\n’ C) ‘68’? ?? D) E18.下面字符常量表示错误的是(D)A)’a’ B)’?’ C)’\n’ D)”\n”19. 已定义c为字符型变量,则下列语句中正确的是(C)A)c='97' B)c="97" C)c=‘a’ D)c="a"20. 已知ch是字符型变量,不正确的赋值语句是( A )A) ch='a+b' ; B) ch=' \0 ' ;C) ch=' 7' ; D) ch=’;’;21.C语言中字符型(char)数据在内存中的存储的是( D )A) 原码 B) 补码 C) 反码 D) ASCII码22*23255则式( C〈=27.在C语言程序中,表达式8/5的结果是( B )A)1.6 B)1 C)3 D)028.设x为int型变量,则执行以下语句后,x的值为Bx=10; x+=x;A) 10 B) 20 C) 40 D) 3029.在C语言程序中,表达式5%2的结果是C。

C语言练习题-选择题(带答案)

C语言练习题-选择题(带答案)

试卷编号:65所属语言:C语言试卷方案:平时练习-选择试卷总分:276分共有题型:1种━━━━━━━━━━━━━━━━━━一、单项选择共276题(共计276分)━━━━━━━━━━━━━━━━━━第1题(1.0分)题号:288下列字符序列中,可用作C标识符的一组字符序列是()。

A:S.b,sum,average,_above B:class,day,lotus_1,2dayC:#md,&12x,month,student_n! D:D56,r_1_2,name,_st_1答案:D第2题(1.0分)题号:910C语言程序从main()函数开始执行,所以这个函数要写在( ).A:程序文件的开始 B:程序文件的最后C:程序文件的任何位置(除别的函数体内) D:它所调用的函数的前面答案:C第3题(1.0分)题号:908完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ). A:连接、编译 B:编译、连接 C:连接、运行 D:运行答:B第4题(1.0分)题号:909要调用文件处理函数时,在#include 命令行中应包含( ).A:"ctype.h" B:"string.h" C:"stdio.h" D:"math.h"答案:C第5题(1.0分)题号:609以下数据中,不正确的数值或字符常量是()。

A:0B:5LC:o13D:9861答案:C第6题(1.0分)题号:911在C语言中,错误的语句是( ).A:a=b=c;B:;C:breakD:b=3*5,a*=4;答案:C第7题(1.0分)题号:574以下标识符中,不能作为合法的C用户定义标识符的是()。

A:a3_b3B:voidC:_123D:IF答案:B第8题(1.0分)题号:907一个C语言程序是由( )组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序答案:B第9题(1.0分)题号:234C语言源程序的基本单位是()。

C练习题(有答案)

C练习题(有答案)

1循环控制:2数组:3函数4宏定义5指针6文件1循环控制:(一)选择题1.设有程序段int k=10;while(k=0)k=k-1;这下面描述中正确的是_________.a)while循环执行10次 b)循环是无限循环c)循环体语句一次也不执行 d)循环体语句执行一次2.语句while(!E);中的表达式!E等价于________. a)E==0 b)E!=1 c)E!=0 d)E==1 3.下面程序段的运行结果是__________.int n=0;while(n++<=2);printf("%d",n);a)2 b)3 c)4 d)有语法错4.下面程序的运行结果是____.#include<stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num); } }a)1 b)1 c)1 d)12 2 23 345.以下程序段________.x=-1;do{x=x*x;}while(!x);a)是死循环 b)循环执行二次c)循环执行一次 d)有语法错误6.若有如下语句int x=3;do{printf(""%d\n",x-=2);}while(!(--x));则上面程序段______.a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环7.下面程序的运行结果是______.#include<stdio.h>main(){int y=10;do{y--;}while(--y);printf("%d\n",y--);}a)-1 b)1 c)8 d)08.若i为整型变量,则以下循环执行次数是_____.for(i=2;i==0;)printf("%d",i--);a)无限次b)0次 c)1次 d)2次9.执行语句for(i=1;i++<4; );后变量i的值是______.a)3 b)4 c)5 d)不定10.以下正确的描述是_______.a)continue语句的作用是结束整个循环的执行b)只能在循环体内和switch语句体内使用break语句c)在循环体内使用break语句或continue语句的作用相同d)从多层循环嵌套中退出时,只能使用goto语句(二)填空题1.下面程序段是从键盘输入的字符中统计字符的个数,用换行符结束循环。

C语言选择题读程序习题及参考答案

C语言选择题读程序习题及参考答案

一、选择题1、一个C程序中可以包含多个不同名的函数,但有且仅有一个。

(A)function (B)include (C)main (D)stdio2、在C语言中,每个语句和数据定义都是用结束的。

(A)分号(B)逗号(C)句号(D)括号3、不是C语言中提供的合法关键字。

(A)switch (B)print (C)case (D)default4、在C语言中,数据类型属于基本类型的是。

(A)整型、实型、字符型(B)空类型、枚举型(C)结构体类型、实型(D)数组类型、实型5、下面四个选项中,均为不合法的用户标识符的是。

(A)A p_0 do (B)float la0 a(C)b-a goto int (D)123 temp INT6、语句int i=3,k; k=(i++)+(i++)+(i++); 执行后k和i的值分别为。

(A)9和6 (B)12和5 (C)18和6 (D)15和57、判断字符串a和b相等,应当使用。

(A)if ( a = = b ) (B)if ( !strcmp (a , b) )(C)if ( strcpy ( a , b ) ) (D)if ( strcmp (a , b) )8、设a,b,c都是int型变量,且a=3,b=4,c=5 ;则以下表达式中,值为0的是。

(A)a&&b (B)a<=b (C)a||b+c&&b-c (D)!((a<b)&&!c||1) 9、用于表示输入输出的程序流程图的图形是。

(A(C(D10、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是。

(A)scanf(―%2d%2d%2d‖,&i,&j,&k);(B)scanf(―%d %d %d‖,&i,&j,&k);(C)scanf(―%d,%d,%d‖,&i,&j,&k);(D)scanf(―i=%d,j=%d,k=%d‖,&i,&j,&k);11、能正确表示―x的取值范围介于[1,10 ]和[200,210 ]之间―的表达式是。

C练习题库及答案

C练习题库及答案

C选择题部分〔共200题〕1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在以下选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、假设要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、假设x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是______C____. A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、假设已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、假设有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、假设已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、假设d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、假设有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、假设有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C语言中,以下表达不正确的选项是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、以下程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,假设从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,假设从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,假设从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行以下程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,假设从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,假设从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 20 56、以下程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、以下程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、假设执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、假设执行下面的程序从键盘上输入5,则输出结果是.#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,假设从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行以下程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、假设运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了防止嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系. A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的选项是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

C语言综合习题及答案

C语言综合习题及答案

C语言综合习题及答案C语言练习题一、选择题1. 一个完整的C源程序是【B 】。

A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。

A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【B】。

A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main 函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【B 】。

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5.C程序的执行是从【A 】开始的。

A)主函数B)子函数C)从程序第一行D)printf()函数6.以下选项中不合法的标识符是【C 】A)print B)FOR C)&a D)_007.以下选项中可作为C语言合法常量的是【A】A)-80 B)-080 C)-8e1.0 D)-80.0e8.以下选项中不属于字符常量的是【B】A)′C′ B)"C" C)′\xCC′ D) ′\072′9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】A)float B)longC)int D)double10. 以下关于函数叙述中,错误的是【D】。

A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【D】。

c语言选择题练习37道(含答案)

c语言选择题练习37道(含答案)

c语言选择题练习37道(含答案)37道选择题:1. 下列不是C语言关键字的是:A. switchB. caseC. intD. double答案:D 解析:double是C语言中的数据类型,不是关键字。

2. 在C语言中,下列标识符合法的是:A. _123abcB. 123abcC. abc123_D. abc_123_答案:D 解析:在C语言中,标识符可以以字母或下划线开头,只能包含字母、数字和下划线。

3. 表达式x += y 是以下哪个表达式的简写?A. x = x –yB. x = x + yC. x = x * yD. x = x / y答案:B 解析:x += y 是x = x + y 的简写。

4. 下列循环语句中,能保证至少执行一次循环体的是:A. for(i=0;i<10;i++)B. do{i++;}while(i<10)C. while(i<10){i++;}D. 以上都不是答案:B 解析:do-while语句可以保证至少执行一次循环体。

5. 下面C 语言中的数组定义,正确的是:A. int[] a = {1, 2, 3};B. int a[3] = {1, 2, 3};C. int[3] a = {1, 2, 3};D. 以上都不正确。

答案:B 解析:C语言中数组的定义格式为数据类型数组名[元素个数] = {元素1,元素2,...,元素n}。

6. 下列程序的输出结果是什么?#include <stdio.h>int main(){int i=0;while(i>0){printf("%d",i);i++;}return 0;}A. 0B. 1C. 无输出D. 其他答案:C 解析:while循环条件不满足,循环体不会执行,故无输出。

7. 下列代码片段的输出是什么?int a = 10;double b = 10.5;printf("%d %f",a,b);A. 10 10.5B. 10.5 10C. 10.0 10.5D. 编译错误答案:A 解析:%d表示输出整数,%f表示输出浮点数。

C语言习题(选择与判断

C语言习题(选择与判断

判断题:1、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。

2、当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。

3、在C语言中,枚举元素表中的元素有先后次序,可以进行比较。

4、使用联合体union的目的是,将一组具有相同数据类型的数据作为一个整体,以便于其中的成员共享同一存储空间。

5、系统中标准输入文件是指硬盘。

6、已知函数调用形式:fread(buffer,size,count,fp);其中buffer代表的是一个指针,指向要读入数据的存放地址。

7、fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是追加。

8、枚举元素的值可以是整数或字符串。

9、可以在定义枚举类型时对枚举元素进行初始化。

10、若要"为读/写建立一个新的文本文件",在fopen函数中应使用的文件方式为"w+"。

11、标准输入输出函数中,将一个字符写到磁盘文件上去,应调用fputc函数。

12、在c语言中,库函数fprintf是按指定的格式将数据写入文件,如果执行成功,函数返回的是结束符。

13、操作系统是以文件为单位对数据进行管理的。

14、"C"指字符常量C。

15、字符串"china"在内存中占据的存储空间是5个字节。

16、char *name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。

17、调用strlen("abc\0ef\0g")的返回值为8。

18、if(a==b)语句可用于判断两个字符串a和b是否相等。

19、两个字符串所包含的字符个数相同时才能比较字符串大小。

20、字符个数多的字符串比字符个数少的字符串大。

21、字符数组的字符串可以整体输入输出。

22、C语言本身没有输入输出语句。

23、在C程序中,注释说明只能位于一条语句的后面。

24、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为:char = int < long int <= float < double25、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为7。

【结构】C选择结构练习

【结构】C选择结构练习

2017级C++选择结构练习1.姓名:_________ 学号:____________ [填空题] [必答题]2. C语言允许if-else语句可以嵌套使用,规定else总是与()配对。

[单选题] [必答题] ○ A.其之前最近的if○ B.第一个if○ C.缩进位置相同的if○ D.其之前最近的尚未配对的if(正确答案)3.在循环结构中,先执行循环语句、后判断循环条件的结构是()。

[单选题] [必答题] ○ A.当型循环结构○ B.直到型循环结构(正确答案)○ C.一般型循环结构○ D.次数型循环结构4.设有说明语句int a=1;,则执行以下语句后输出()。

switch(a){case 1:cout<<"你好";case 2:cout<<"再见";default:cout<<"晚安";} [单选题] [必答题]○ A.你好○ B.你好再见晚安(正确答案)○ C.你好晚安○ D.你好再见5.对break语句和continue语句,下面说法中不正确的是()。

[单选题] [必答题]○ A.break语句强制中断当前循环,退出所在层循环○ B.break语句不仅能用在3条循环语句中,还可以用在switch语句中○ C.continue语句能用在switch语句中,在没有循环的情况下(正确答案) ○ D.continue语句不能退出循环体6.标有/*******/的语句执行次数为()次。

int x=10;while(x++<20)x+=2; /*******/ [单选题] [必答题]○ A.10○ B.11○ C.4(正确答案)○ D.37. 6. 标有/*******/的语句执行次数为()次。

int y=0,x=2;do{y=x*x; /*******/}while(++y[单选题] [必答题]○ A.5○ B.4○ C.2○ D.1(正确答案)8.若执行下面的程序时从键盘输入5,则输出是( A )。

c语言选择结构练习题

c语言选择结构练习题

C语言选择结构练习题一、单选题A. ifB. switchC. forD. while2. 当表达式 (a > b) 为真时,下列哪个表达式的值为假?A. !(a <= b)B. (a == b)C. (a >= b)D. (a != b)A. ifelseB. switchcaseC. whileD. dowhile4. 当if语句的条件为真时,下列哪个选项的语句不会执行?A. if语句内的语句B. else语句内的语句C. if语句和else语句内的语句D. 与if语句平级的下一个语句二、多选题A. ifB. else ifC. switchD. forA. if和else语句块只能包含一条语句B. if和else语句块可以包含多条语句,但需要用大括号括起来C. if语句块后面可以不跟else语句块D. else语句块后面可以继续跟if语句块A. 没有与case匹配的值B. case后面的值与switch表达式匹配C. switch表达式为空D. default分支位于所有case分支之前三、填空题1. 在C语言中,______ 关键字用于实现选择结构。

2. 当if语句的条件为真时,执行______ 语句块;当条件为假时,执行______ 语句块。

3. 在switch语句中,每个case分支后面需要使用______ 语句来跳出switch结构。

四、编程题1. 编写一个C程序,输入一个整数,判断它是正数、负数还是零,并输出相应的结果。

2. 编写一个C程序,输入三个整数,找出其中的最大值并输出。

3. 编写一个C程序,根据用户输入的成绩(0100),输出相应的等级(A、B、C、D、E)。

4. 编写一个C程序,输入一个年份,判断它是否为闰年,并输出结果。

5. 编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。

用户输入两个整数和一个运算符,程序输出运算结果。

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

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

1.若有以下说明和定义
typedefint*INTEGER;
INTEGERp,*q;
以下叙述正确的是()
A)p是int型变量
B)p是基类型为int的指针变量
C)q是基类型为int的指针变量
D)程序中可用INTEGER代替int类型名
2.若指针ps已正确定义,要使ps指向能够存储8个字符的动态存储单元,以下不正确的语句是()
A)ps=(char*)malloc(8);
B)ps=(char*)malloc(sizeof(char)*8);
C)ps=(char*)calloc(8,sizeof(char));
D)ps=8*(char*)malloc(sizeof(char));
3.设下面程序段中调用fun函数传送实参a和b,
main()
{
char a〔10〕,b〔10〕;

fun (a,b);

}
则在fun函数首部中,对形参错误的定义是()
A)fun(char a〔10〕,b〔10〕){ …}
B)fun(char a1〔〕,char a2〔〕){ …}
C)fun(char p〔10〕,char q〔10〕){ …}
D)fun(char*s1,char*s2){ …}
4.C语言规定,程序中各函数之间()
A)既允许直接递归调用也允许间接递归调用
B)不允许直接递归调用也不允许间接递归调用
C)允许直接递归调用不允许间接递归调用
D)不允许直接递归调用允许间接递归调用
5.下列程序
voidfunc1(int i);
voidfunc2(int i);
char st〔〕="hello,friend!";
void func1(int i)
{printf("%c",st〔i〕);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{printf("%c",st〔i〕);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);printf("\n");}
执行后的输出结果是()
A)hello
B)hel
C)hlo
D)hlrn
6.以下对结构体类型变量的定义中,不正确的是()
A)typedef struct aa
{int n;
float m;
}AA;
AA tdl;
C)struct
{int n;
float m;
}aa;
struct aa tdl;B)#define AA struct aa
AA{int n;
float m;
}tdl;
D)struct
{int n;
float m;
}tdl;
7.有以下程序
main()
{inta〔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)18
B)19
C)20
D)21
8.请选出以下程序的输出结果()
#include <stdio.h>
sub(x,y,z)
int x,y,*z;
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A)5,2,3B)-5,-12,-7
C)-5,-12,-17D)5,-2,-749.若有如下定义:
unionaa
{int n;char c〔9〕;float x;}a,b,c;
9.则下列叙述中不正确的是()
A)union aa是定义的共用体类型
B)a,b,c 是定义的共用体类型名
C)n、c〔9〕和x是共用体的成员名
D)a,b,c 是定义的共用体变量名
10.在下列定义中的共用体所占内存字节数是()
Union
{char k〔6〕;
struct
{int m;float f; }a;
double d; }b;
A)8
B)14
C)18
D)10
答案:1.B 42.D 43.A 44.A 45.C 46.C 47.A 48.B 49.B 50.A。

相关文档
最新文档