c题库选择题

合集下载

C语言选择题库

C语言选择题库

复习题一、单项选择题(每题1分,共30分)1、一个C语言程序是由()。

A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成3、用来标识变量名、符号常量名、函数名、类型名、文件名、数组名的有效字符序列称为标识符。

在C语言中,规定标识符只能有字母、数值或下划线三类字符组成,且第一个字符必须为()或()。

A.字母,数字B.数字,下划线C.字母,下划线D.字母,下划线,数字5、C语言中,主调函数携带的参数列表称为实参,而被调用函数的参数列表习惯上称为()。

A.形式参数B.值参C.动态参数D.静态参数7、下列关于switch和break语句的结论中,只有()是正确的。

A.break语句是switch语句的一部分B.在switch语句中可以根据需要使用或不使用break语句C.在switch语句中必须使用break语句D.以上三个结论中有两个是正确的9、对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是(),列下标最大值是()。

A. m,n-1B. m-1,n-1C. m-1,nD. m,n10、下面程序段的运行结果是()。

char a[7]=″abcedf″;char b[4]=″ABC″;strcpy(a,b);printf(“%c”,a[5]);A. dB. \0C. eD. f11、一维double型数组a长度为10,则实际所占内存字节数为()。

A. 20B. 40C. 60D. 8012、字符串a=“hello”,则函数调用strlen(a)的返回值为()。

A. 4B. 5C. 6D. 413、在C语言中,&作为单目运算符时表示的是()。

A.地址与B.取地址C.输入地址D.输出地址14、对不同类型的数据有不同的格式字符。

例如:()格式字符是用来输出十进制整数,()格式字符是用来输出一个字符串。

A.c,sB.s,dC.d,cD.d,s15、do-while语句的特点是()。

C语言选择题题库(116道)

C语言选择题题库(116道)

C语言选择题1、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将()。

——[单选题]A 生成可执行目标文件B 生成目标文件C 输出运行结果D 自动保存源文件正确答案:B2、一个C语言程序是由()——[单选题]A 一个主程序和若干子程序组成B 函数组成C 若干过程组成D 若干子程序组成正确答案:B3、C 程序的执行过程在下列说法中,▁▁▁▁▁ 是正确的。

——[单选题]A C 程序从第一个函数开始执行,直到最后一个函数结束B C 程序从第一个函数开始执行,直到主函数结束C C 程序从主函数开始执行,直到最后一个函数结束D C 程序从主函数开始执行,直到主函数结束正确答案:D4、结构化程序由三种基本结构组成,三种基本结构组成的算法——[单选题]A 可以完成任何复杂的任务B 只能完成部分复杂的任务C 只能完成符合结构化的任务D 只能完成一些简单的任务正确答案:A5、以下叙述中错误的是()——[单选题]A c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C 用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中D c语言源程序经编译后生成后缀为.obj的目标程序正确答案:A6、以下叙述中,正确的是。

——[单选题]A C语言程序总是从第一个函数开始执行B 在C语言程序中,要调用的函数必须在main()函数中定义C C语言程序总是从main()函数开始执行D C 语言程序中的main()函数必须放在程序的开始部分正确答案:C7、C 风格的注释 C 风格的注释,也称块注释或多行注释,以▁▁▁ 开始,以▁▁▁ 结束。

——[单选题]A /* 和 */B { 和 }C [ 和 ]D ( 和 )正确答案:A8、空语句仅有一个▁▁▁▁▁ 的语句称为空语句。

——[单选题]A 逗号( , )B 句号( . )C 分号( ; )D 冒号( : )正确答案:C9、c语言规定,在一个源程序中,main函数的位置()。

C语言题库

C语言题库

第一章C语言概述一、选择题:1、一个C程序的执行是从( A )。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C 语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。

4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。

C选择题库-word版

C选择题库-word版

单项选择==================================================题号:25006"Intel® Core™ i7-3537U Processor (4M Cache, up to 3.10 GHz)"中"i7-3537U"是指______A、CPU的速度B、运算器的速度C、CPU的型号D、内存的容量答案:C题号:25016下列描述中正确的是A、软件开发不受计算机系统的限制B、程序就是软件C、软件既是逻辑实体,又是物理实体D、是程序、数据与相关文档的集合答案:D题号:25032下列描述中正确的是______。

A、软件工程只是解决软件开发中的技术问题B、软件工程只是解决软件项目的管理问题C、软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D、软件工程主要解决软件产品的生产率问题答案:C题号:25015计算机中的指令执行过程分为取出指令、______和执行指令三个阶段。

A、分析指令B、显示指令C、打印指令D、修改指令答案:A题号:25008在微型计算机中,微处理器的主要功能是进行______A、算术逻辑运算B、算术逻辑运算及全机的控C、逻辑运算D、算术运算答案:B题号:25009计算机硬件系统主要包括存储器、输入设备、输出设备和______A、运算器B、主机C、控制器D、中央处理器答案:D题号:25014下列______属于应用软件。

A、连接程序B、文本处理C、编译系统D、操作系统答案:B题号:25027解释程序的功能是______。

A、将高级语言转换成目标程序B、解释执行汇编语言程序C、将汇编语言转换成目标程序D、解释执行高级语言程序答案:D题号:25024计算机硬件能直接执行的只能是______。

A、机器语言和汇编语言B、汇编语言C、符号语言D、机器语言答案:D题号:25012CPU主要包括______.A、控制器B、控制器、ALU和主存C、控制器、运算器、cacheD、运算器和主存答案:C题号:25033用来描述C程序中注释的是______。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

C语言题库

C语言题库

一.选择题(单项)1.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。

A必须为字母B必须为下划线C 必须为字母或下划线D 可以是字母、数字和下划线中的任一种字符2.下面4个选项中,均是C语言关键字的选项是——。

Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面4个选项中,均是不合法的用户标识符的选项是——。

A A P_0 doBfloat la0 _AC b-a goto intD _123 temp INT4.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数——。

A由用户自己定义B均为2个字节C 是任意的D 由所用机器的机器字长决定5.下面4个选项中,均是合法浮点数的选项是——。

A+1e+1 5e-9.4 03e2B-.60 12e-4 -8e5C 123e 1.2e-.4 +2e-1D -e3 .8e-4 5.e-06.下面不正确的字符串常量是——。

AˊabcˊB〞12ˊ12〞C 〞0 〞D 〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是——。

A7 B8C 6D 28.以下正确的叙述是——。

A在C语言中,每行只能写一条语句B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C 在C程序中,无论整数还是实数,都能被准确无误的表示D 在C程序中,%是只能用于整数运算的运算符9.以下表达式值为3的是——。

A 16-13%10B 2+3/2C 14/3-2D (2+6)/(12-9)10. 设变量a是整型,f是实型,i是双精度型,则表达式10+ˊaˊ+i*f值的数据类型为——。

A intB floatC doubleD 不确定11.在C语言中,char型数据在内存中的存储形式是——。

大学c语言期末考试题库及答案

大学c语言期末考试题库及答案

大学c语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

C语言选择题题库

C语言选择题题库

C语言程序设计题库说明一本题库适用对象计算机应用技术计算机软件软件技术计算机网络技术与计算机控制技术等专业二本题库包含有175道选择题三本题库所有题目均附有答案一、选择题下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。

1、不合法的整数是()。

A)0x35 B)43.6 C)0532 D)-3462、下列合法的字符常量是()。

A)“f”B)x C)65 D)‘\Xab’3、设有整型变量x,单精度变量y=5.5,表达式x=float(y*3+((int)y%4))执行后,x的值为()。

A)17B)17.500000 C)17.5 D)1.54、在C语言中,负整数在内存中以()形式释放。

A)补码B)BCD码C)反码D)十进制数5、在C语言中,要求参加运算的数必须是整数的运算符是()。

A)/ B)!C)%D)= =6、()是C语言中非法的数据类型关键字。

A)float B)singed C)integer D)Char7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为()。

A)1 B)5 C)6 D)以上三个答案都不正确8、下列语句的输出结果是()。

printf(“%f\n”,(float)(2+4)/2);A)有语法错误不能通过编译B)3 C)3.0 D)3.0000009、C语言中,整数-8在内存中的存储形式是()。

A)1111,1111,1111,1000B)1000,0000,0000,1000C)0000,0000,0000,1000 D)1111,1111,1111,011110、设C语言中,int类型数据占2个字节,则long类型数据占()个字节。

A)1 B)2 C)8 D)411、若变量a已说明为float类型,则能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。

A)a=(a*100+0.5)/100.0 B)a=(a*100+0.5)/100C)a=(int)(a*100+0.5)/100.0D)a=(a/100+0.5)*100.012、定义a为整型,下列表达式a=3>6的运行后,a的值为()。

(完整版)c语言选择题题库,考试必考

(完整版)c语言选择题题库,考试必考

C语言选择题精选*1、A一个C程序的执行是从_____。

A)本程序的main函数开始,到main函数结束√B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束*2、C以下叙述正确的是:A)在C程序中,main函数必须位于程序的最前面×B)C程序的每行中只能写一条语句×C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误×*3、D以下叙述不正确的是。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面*4、CC语言规定:在一个源程序中,main函数的位置。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后*5、B一个C语言程序是由A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成*6、A在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)char<int <1ong int<=float<doubleB)char=int<1ong int<=float<doubleC)char< int <1ong int=float=doubleD)char=int =1ong int<=float<double*7、C若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52*8、B假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)2*9、A下列四组选项中,均不是C语言关键字的选项是A)define B)getc C)include D)whileIF char scanf gotype printf case pow*10、B下面四个选项中,均是C语言关键字的选项是A)auto B)switch C)signed D)ifenum typedef union structinclude continue scanf type*11、C下面四个选项中,均是不合法的用户标识符的选项是。

c语言期末考试题库完整

c语言期末考试题库完整

习题一一、选择题1.C语言是一种(C )。

A. 低级语言B. 汇编语言C. 高级语言D. 机器语言2.以下不是C语言的特点的是( D )。

A. 语言简洁紧凑B. 可以直接对硬件进行操作C. 数据类型丰富D. 是面向对象的程序设计语言3.一个C程序的执行是从( A )。

A. 本程序的main函数开始,到main函数结束B. 本函数的第一个数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。

A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行只能写一条语句C. C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后7.一个C语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。

A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. C语句必须以分号结束D. C语言必须在一行写完9.以下叙述中正确的是( C )。

A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。

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

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语言题库:选择题

1 C语言提供的合法的关键字是(D)A SwicthB cherC CaseD default2设有如下的定义 ( A )int x[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int (*pt)[4]=x;能与数组元素x[2][3]相等的表达式是:A *(*(pt+2)+3)B *(pt+2)+3C *(pt+2+3)D (*pt+2)+33以下不正确的叙述是(D )A 在C程序中,逗号运算符的优先级最低B 在C程序中,APH和aph是两个不同的变量C 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值4 下面C语言程序段的功能是(D )file *fp;fp=fopen("test.dat","wb");A 以读方式打开文本文件test.datB 以写方式打开文本文件test.datC 以读方式打开二进制文件test.datD 以写方式打开二进制文件test.dat5.有语句for(i=1;10;++i),其中表达式i=1将被执行( B )次A 0B 1C 无穷次D 不确定6 设有数组定义:char array[]=”China”;,则数组array所占的空间为( C )A. 4B. 5C. 6D. 77 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是( B )if(x>y) z=x;x=y;y=z;A x=10,y=20,z=30B x=20,y=30,z=30C x=20,y=30,z=10D x=20,y=30,z=208 C语言中基本的数据类型包括(C)A 整型,实型,字符型和逻辑型B 整型,实型,字符型和数组型C 整型,实型,字符型和枚举型D 整型,实型,字符型和指针型9,C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是 (B )A 地址传递B 值传递C 实参数传给形参,并由形参传回来给实参D 由用户指定传递方式10 下面的for循环(C )for(x=0,y=0;(y!=123)&&(x<4);x++);A 是无限循环B 循环次数不定C 执行4次D 执行3次11定义char *aa="12345";,则执行语句printf("%c",*aa++);后,正确的输出结果是(A) A 1 B 2 C 12345 D 234512下列说法中正确的是(A)A 在程序清单的任何地方都可以插入一个或多个空格符号B 程序的执行总是从源程序的第一行开始执行的C 分号和回车符号都可以作为一个语句的结束符号D 函数名是由程序设计人员按照“标识符”的规则选取的13 函数printf("\abcd\b\102\103")的输出结果是(D)A bc\101\103B abcd\102\103C abc\102\103D bcbc14 已知:char a;int b;float c;double d;则表达式2+a+9*b*5*c-5*d的结果是(A)。

大学c期末考试题库及答案文档

大学c期末考试题库及答案文档

大学c期末考试题库及答案文档大学C期末考试题库及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable#nameD. variable_name答案:D3. C语言中,哪个运算符用于求两个数的和?A. +B. -C. *D. /答案:A二、填空题4. 在C语言中,一个基本的程序结构由______、函数调用和程序的终止组成。

答案:函数定义5. 如果要定义一个整型变量,可以使用关键字______。

答案:int6. 在C语言中,用于输出的函数是______。

答案:printf三、简答题7. 简述C语言中数组的定义方式及其特点。

答案:在C语言中,数组是一种基本的数据结构,用于存储具有相同类型的多个元素。

数组的定义方式是指定类型后跟数组名和方括号内的元素个数,例如:int numbers[10]; 表示定义了一个可以存储10个整数的数组。

数组的特点包括:元素在内存中连续存储,可以通过索引访问元素,索引从0开始。

8. 解释C语言中指针的概念及其用途。

答案:指针是C语言中的一个重要概念,它是一个变量,用于存储另一个变量的内存地址。

指针的用途非常广泛,包括动态内存分配、数组操作、函数参数传递等。

通过指针,可以间接访问和修改变量的值,实现更灵活的程序设计。

四、编程题9. 编写一个C语言程序,实现输入两个整数,输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```10. 编写一个C语言程序,实现对一个字符串进行反转。

c语言选择题题库及详解答案

c语言选择题题库及详解答案

c语言选择题题库及详解答案C语言作为一门广泛应用的编程语言,其学习过程中,选择题是检验学习效果的重要方式之一。

下面是一个C语言选择题题库及详解答案的示例,供学习者参考。

1. 以下哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. both A and BD. None of the above答案:C详解:在C语言中,`printf()` 和 `scanf()` 都是标准输入输出库函数,分别用于输出和输入。

2. C语言中,以下哪个关键字用于定义函数?A. ifB. elseC. voidD. function答案:C详解: `void` 关键字用于定义函数的返回类型,表示该函数没有返回值。

3. 下面哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B详解: C语言中的变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能以数字开头。

4. 在C语言中,以下哪个语句用于结束程序的执行?A. exit();B. return;C. break;D. continue;答案:A详解: `exit()` 函数用于立即结束程序的执行,而 `return` 用于结束函数的执行并返回一个值。

5. 以下哪个是C语言中的控制结构?A. 循环B. 条件判断C. 函数D. 所有选项答案:D详解: C语言中的控制结构包括循环(如 for, while, do-while)、条件判断(如 if, switch-case)和函数。

6. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /答案:C详解: `*` 操作符用于计算两个数的乘积。

7. 下面哪个是C语言中数组的正确声明方式?A. int numbers = {1, 2, 3};B. int numbers[] = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. All of the above答案:D详解: C语言中数组可以有三种声明方式:不指定大小并初始化(A),指定大小并初始化(C),或者只指定大小不初始化(未列出)。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

c语言c语言考试题库及答案

c语言c语言考试题库及答案

c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。

答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。

答案:main8. 在C语言中,使用____关键字可以定义一个函数。

答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。

答案:连续10. C语言中的____运算符用于连接字符串。

答案:+三、简答题11. 解释C语言中指针的概念。

答案:指针是一种变量,它存储了另一个变量的内存地址。

通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。

12. 描述C语言中结构体的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。

定义结构体时,使用struct关键字,然后定义结构体的名称和成员。

使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。

四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。

c语言选择题考试题库及答案

c语言选择题考试题库及答案

c语言选择题考试题库及答案一、单项选择题1. C语言中,用于定义变量的关键字是()。

A. varB. defineC. intD. void答案:C2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. &答案:A4. C语言中,用于表示逻辑“或”操作的运算符是()。

A. &&B. ||C. !D. &答案:B5. C语言中,用于表示逻辑“非”操作的运算符是()。

A. &&C. !D. &答案:C6. C语言中,用于表示“等于”关系的运算符是()。

A. ==B. =C. !=D. <=答案:A7. C语言中,用于表示“不等于”关系的运算符是()。

A. ==B. =C. !=答案:C8. C语言中,用于表示“小于等于”关系的运算符是()。

A. ==B. =C. <=D. >=答案:C9. C语言中,用于表示“大于等于”关系的运算符是()。

A. ==B. =C. <=D. >=答案:D10. C语言中,用于表示“取模”操作的运算符是()。

A. %B. /C. *D. -答案:A11. C语言中,用于表示“整除”操作的运算符是()。

A. %B. /C. *D. -答案:B12. C语言中,用于表示“乘法”操作的运算符是()。

A. %C. *D. -答案:C13. C语言中,用于表示“加法”操作的运算符是()。

A. +B. -C. *D. /答案:A14. C语言中,用于表示“减法”操作的运算符是()。

A. +B. -C. *答案:B15. C语言中,用于表示“左移”操作的运算符是()。

A. <<B. >>C. <=D. >=答案:A16. C语言中,用于表示“右移”操作的运算符是()。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案一、选择题1. C语言中,以下哪个选项是合法的数据类型?A. intB. floatC. charD. All of the above答案:D2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. doubleC. intD. char答案:C3. 下面哪个选项不是C语言的逻辑运算符?A. &&B. ||C. !D. ++答案:D4. 在C语言中,哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个关键字用于定义结构体?A. structB. unionC. enumD. class答案:A二、填空题6. 在C语言中,用于声明函数原型的是______。

答案:函数原型7. 在C语言中,用于输入输出函数的是______。

答案:stdio.h8. 在C语言中,用于定义常量的是______。

答案:#define 或 const9. 在C语言中,用于定义指针的是______。

答案:(星号)10. 在C语言中,用于终止当前循环的是______。

答案:break三、判断题11. C语言中的数组下标是从1开始的。

()答案:错误12. 在C语言中,switch语句可以替代if-else语句。

()答案:正确13. 在C语言中,所有的变量在使用前必须声明。

()答案:正确14. C语言中的结构体是一种用户自定义的数据类型。

()答案:正确15. 在C语言中,函数的返回值类型不能是数组。

()答案:正确四、编程题16. 编写一个C程序,输出1到100之间所有的偶数。

```c#include <stdio.h>int main() {int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {printf("%d\n", i);}}return 0;}```17. 编写一个C程序,计算并输出斐波那契数列的前10项。

(完整版)C语言选择题题库

(完整版)C语言选择题题库

本卷共有4道大一、单项选择题(25道小题,共50分)1、以下说法中正确的是(C)(2分)A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分2、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)(2分)A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性3、以下选项中,不合法常量的是(B)(2分)A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e04、C语言中最简单的数据类型包括(B)(2分)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型5、能正确表示逻辑关系:“10≥=a≥=0”的C语言表达式是 (D)(2分)A、 10>=a>=0B、 a>=0 and a<=10C、 a>=0||a<=10D、 a>=0&&a<=106、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分)A、 6.500000B、 6C、 5.500000D、 6.0000007、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)(2分)A、 INPUT x、y、z;B、 scanf("%d%d%d",&x,&y,&z);C、 scanf("%d%d%d",x,y,z);D、 read("%d%d%d",&x,&y,&z);8、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(D)(2分)A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值9、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是(A)(2分)A、 0B、 0.5C、 1D、 210、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。

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

一、选择题1、关于C语言数据类型的叙述,正确的是(C)。

A)枚举类型不是基本类型B)数组不是构造类型C)变量必须先定义后使用D)不允许使用空类型2、下面关于C语言用户标识符的描述,正确的是(D)。

A)不区分大小写B)用户标识符不能描述常量C)类型名也是用户标识符D)用户标识符可以作为变量名3、下面叙述正确的是(B)。

A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价C)++5与6等价D)‟A‟与”A”等价4、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。

A)scanf(“%d”,&a); B)scanf(“%lf”,&a);C)scanf(“%c”,&a);D)scanf(“%u”,&a);5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。

A)先判断后执行B)单入口,单出口C)程序中没有执行不到的语句D)无死循环6、已知int a=3, b=5; 则表达式a && ! b 的值为(C)。

A)3 B)2 C)0 D)17、已知char a=‟R‟;则正确的赋值表达式是(A)。

A)a=(a++)%4 B)a+2=3 C)a+=256-- D)a=‟\078‟8、以下的语句中,无内嵌的if语句是(B)。

A)if(x= =y) x+=y;B)if(x>y && x!=y);x+=y;C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);D)if(x<y){x++;y++;}9、设有整型变量x,下述语句(B)不会出现死循环。

A)for( ; ; x+=1) B)for( ; (x=getchar())!=‟\n‟; ) ;C)while(1) {x++ ;} D)for(x=10; ;x--) ;10、下列数组声明中,正确的是(A)。

A)int a[5]={0}; B)int a[]={0 1 2}; C)int a[5]=0; D)int a[] ;11、以下数组定义中,正确的是(D)。

A)int a[2][3]={1,2,3,4,5,6,7}; B)int a[][]={{1,2,3},{4,5,6},{7,8,9}};C)int a[2][]={1,2,3,4,5,6}; D)int a[][4]={6};12、设有如下数组定义:char str[8]={“FuJian”};则分配给数组str的存储空间是(C)字节。

A)6 B)7 C)8 D)913、以下程序的运行结果是(A)。

int fun(int array[4][4]){int j;for(j=0;j<4;j++) printf(“%2d”,array[2][j]);printf(“\n”);}main(){int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};fun(a);}A)2 0 0 5 B)1 0 0 4 C)0 1 2 0 D)0 4 5 014、若有以下宏定义,#define MOD(x,y) x%y则执行以下程序段后,z的值是(D)。

int z,a=15,b=100;z=MOD(b,a);A)100 B)15 C)11 D)1015、对于基类型相同的两个指针变量之间,不能进行的运算是(C)。

A)< B)= C)+ D)-16、若函数fun的函数头为:int fun(int i,int j)且函数指针变量p定义如下:int (*p)(int i,int j);则要使指针p指向函数fun的赋值语句是(B)。

A)p=*fun(); B)p=fun; C)p=fun(i,j); D)p=&fun;17、设有以下定义语句:struct student{int num;char name[10];float score;}wang,zhang;则不正确的叙述是(C)。

A)struct是结构体类型的关键字B)zhang是结构体变量名C)wang是结构体类型名D)num,name,score都是结构体类型student 的成员名18、若有以下定义:struct link{int data;struct link *next;}*head,*p;并已建立如下图所示的链表结构:head指针p指向如下结点:则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(A)。

A)p->next=head->next;head->next=p;B)head->next=p;p->next=head->next;C)p.next=head.next;head.next=p;D)(*head).next=p;(*p).next=(*head).next;19、设有如下定义:typedef int *INTEGER;INTEGER p,*q;则(C)是正确的叙述。

A)p是int型变量B)q是基类型为int的指针变量C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名20、以下程序的可执行文件名是file.exe。

main()int argc;char *argv[];{int i;for(i=2;i<argc;i++)printf(“%s%c”,argv[i],(i<argc-1)?‟ …: …\n‟);}在DOS命令行输入:file My C Language and Programming<回车>,其输出结果是(A)。

A)C Language and Programming B)My C Language and ProgrammingC)MyCLanguageandProgramming D)file My C Language and Programming21、在C语言源程序中,以下叙述正确的是(C)。

A)main函数必须位于文件的开头B)每行只能写一条语句C)程序中的一个语句可以写成多行D)每个语句的最后必须有点号22、下面关于算术运算符的叙述,错误的是(A)。

A)其运算对象不包含函数B)%(模运算符)的运算对象只能为整型量C)算术运算符的结合方向是“自左至右”D)自加和自减运算符的结合方向是“自右至左”23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。

A)数据结构B)选择结构C)循环结构D)顺序结构24、已知double a=5.2; 则正确的赋值表达式是(A)。

A)a+=a-=(a=4)*(a=3) B)a=a*3=2C)a%3 D)a=double(-3)25、逻辑运算符的优先级依次为(C)。

A)|| && ! B)&& || ! C)! && || D)! || && 26、对于整型变量x,与while(!x) 等价的是(B)。

A)while(x!=0) B)while(x= =0) C)while(x!=1) D)while(~ x)27、下列数组声明中,正确的是(A)。

A)int a[10]; B)int n=10,a[n];C)int N=10;int a[N]; D)int n;scanf(“%d”,&n);int a[n];28、有如下定义:char str[6]={…a‟,‟b‟,‟\0‟,‟d‟,‟e‟,‟f‟};则语句:printf(“%s”,str);的输出结果是(D)。

A)ab\ B)abdef C)ab\0 D)ab29、执行以下程序段的输出结果是(B)。

int a=10,*p=&a;printf(“%d”,++*p);A)10 B)11 C)变量a的地址D)变量a的地址+1 30、若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是(D)。

int i,j,(*p)[3];int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;A)*(*(a+i)+j) B)p[i][j] C)*(p+i) [j] D)p[i]+j 31、若有以下定义:struct link{int data;struct link *next;}*head,*p;并已建立如下图所示的链表结构:phead……则能保留链表其它结点,而删除P所指向结点的程序段是(A)。

A)head->next=p->next;free(p)B)head->next=p;p->next=head->next;free(p);C)free(p);head->next=p;p->next=head->next;D)free(p);head->next=p->next;32、假定已有如下变量说明和枚举定义:char ch;int j,k;enum day{sun,mon,tue,wed,thu,fri,sat};int a[sat]判断下列语句是否符合语法规则,结果是(C)。

char a; /*语句1 */j+k=j; /*语句2 */if(a[mon]>0) j++; /*语句3 */A)语句2错误,其它正确B)语句1正确,其它错误C)语句3正确,其它错误D)语句1错误,其它正确33、以下(D)是正确的常量。

A)E-5 B)1E5.1 C)‟a12‟D)32766L34、标准函数fgets(s,n,f)的功能是(B)。

A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存35、关于C语言的源程序的叙述中,错误的是(C)。

A)C语言的源程序由函数构成B)main函数可以书写在自定义函数之后C)必须包含有输入语句D)一行可以书写多个语句36、下面叙述正确的是(A)。

A)强制类型转换运算的优先级高于算术运算B)若a和b是整型变量,(a+b)++是合法的C)‟A‟*‟B‟是不合法的D)”A”+”B”是合法的37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0≤i<10。

int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-1] B)*(&a[i]) C)p[i] D)*(*(a+i))38、结构化程序设计不包括(A)。

A)最优化B)自顶而下,逐步细化C)模块化设计D)结构化编码39、已知int a=3,b=5; 则表达式a= =3 && b !=1的值为(C)。

相关文档
最新文档