C语言试题-15(含答案)

合集下载

C语言程序设计试题(卷)集与答案解析

C语言程序设计试题(卷)集与答案解析
C 语言程序设计试题(卷)集与答案解析
第一章 基础知识 一.填空 1. 每个 C 程序都必须有且仅有一个________ 函数。 2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、 ________、 链接 、加载 和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计 算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为 低级语言和________两大类 。 6. C 语言是由________组成的。 7. C 语言的函数可分为主函数 main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和 函数体。 9. 编译是将 C 语言所编写的源程序________成机器代码,也称 为建立目标代码程序的过程。 10. 程序是由某种程序设计语言 编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制 计算机本身软硬件协调工作 ,并使其设备充分发挥效力,方便 用户使用的系统软件程序,称为操作系统;而为办公自动 化 (OA)、管理信息系统(MIS)、人工智能、电子商务、网络互 联等等应用而开发的软件程
12. 实数 473.468 写成规范化指数形式,则应为 ______。 13. 实数 0.0453 写成规范化指数形式,则应为 ______。 14. 将 0x123 转换为二进制等于 ______。 15. 字符’A’表示成十六进制等于 ______。 16. 在 C 语言中,称代表常量的标识符为 ______。 17. C语言中是用编译预处理命令______ 来定义符号常量 18. 在 C 语言中,以反斜杠符(\\)开头,后跟字符的字符序列, 称之为 ______ ,主 要用来表示控制及不可见的字符或者一些图形符号 19. 语句 printf(\执行的结果输出是 ______。 20. 语句 printf(“b”)执行的结果输出是______。 21. 语句 printf(“\\\\b”)执行的结果输出是 ______。 22. 语句 printf(\执行的结果输出是 ______。 23. 若有 char ch1; ch1='a'+4; 则语句 printf(\的输出结果为 ______。 24. 字符串常量“Hello, everyone!”占据的内存空间为______ 个字节 25. 字符串常量“Hello,Bob!”占据的内存空间为 ______ 个字 节 26. 十进制整型常量由 0~9 个数据组成,但不能以______ 开始, 没有小数部分 27. 十六进制常量由 0~9 和______ 组成

7-22-C语言上机考试试题15

7-22-C语言上机考试试题15

C 语言上机考试试题-151. 选择题(评分标准20 分,每小题2分)1、一个C程序的执行是从。

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

A) 一个C源程序可以由一个或多个函数组成B) C程序的基本组成单位是函数C) 在C程序中,注释只能位于一条语句的后面D) 一个C程序必须包含一个主函数3、假设所有的变量都是int 型,则表达式(a=2,b=5,b++,a+b)的值是。

A) 7 B) 8 C) 6 D) 24、判断char 型变量ch 中的字符是否为大写字母的正确表达式是。

A) 'A' <= ch <='Z' B) ('A' <= ch) && (ch <= 'Z')C) ('A' <= ch) & (ch <='Z') D) ('A' <= ch) AND (ch <= 'Z')5、C语言中while 和do-while 循环的主要区别是。

A) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while 的严格C) do-while允许从该语句的外部跳转到循环体内D) do-while的循环体不能是复合语句6、若有说明int a[10],则对a 数组元素的正确引用是。

A) a[10] B) a[-1] C) a(5) D) a[10-5]7、下面程序中有错误的行是。

(每行最前面的数字代表行号)1main()2{3int a[3] = {1,2};4int j;5scanf(“%d”,&a);6for (j=0; j<3; j++) a[0] = a[0] +a[j];7printf(“a[0]=%d\n”,a[0]);8}A) 3 B) 6 C) 7 D) 58、对以下语句的正确理解是。

C语言入门试题及答案

C语言入门试题及答案

C语言入门试题及答案1.int a;()A、声明一个整型变量a。

(正确答案)B、声明一个实型变量a。

2.float b;()A、声明一个实型变量b。

(正确答案)B、声明一个整型变量b。

3.char c;()A、声明一个字符型的变量c。

(正确答案)B、声明一个整型的变量c。

4.int a=66;()A、声明一个整型的变量a,并给它赋值为66。

(正确答案)B、声明a等于66。

5.float b=2.5;()A、声明一个实型的变量b并给它赋值2.5。

(正确答案)B、声明b等于2.56.char c='m';()A、上面一个字符型的变量,c给它赋值m。

(正确答案)B、声明c等于m7.int i,j,k;()A、声明三个整型的变量分别是ijk。

(正确答案)B、声明三个实型的变量分别是ijk。

8.scanf("%d",&a);()A、从键盘输入一个值,赋给整形变量a(正确答案)B、打印整型变量a的值9.printf("%d",a);()A、按整型的格式输出变量a。

(正确答案)B、从键盘输入一个值,赋值给a10.scanf("%d%d",&a,&b);()A、从键盘输入两个值,依次赋给整形变量a和b。

(正确答案)B、输出两个整形变量ab。

11.printf("%d,%d",a,b);()A、输出两个整形变量ab。

(正确答案)B、从键盘输入两个值,依次赋给整形变量a和b。

12.scanf("%d%f",&a,&b);()A、从键盘输入两个值,第一个赋给整型变量a,第二个赋给浮点型变量b。

(正确答案)B、输出两个变量,一个是整形变量,a一个是实型变量b。

13.printf("%d,%f",a,b);()A、输出两个变量,一个是整型变量,a一个是实型变量b。

C语言试题

C语言试题

试卷总分:100分共有题型:6种一、填空共15题(共计15分)第1题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3该数组中下标最大的元素的值是【1】.答案:3第2题(1.0分)表达式18 && 53 的值是【1】.答案:1第3题(1.0分)c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:循环第4题(1.0分)预处理命令行都必须以【1】号开始.答案:#第5题(1.0分)设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:10第6题(1.0分)程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案:0第7题(1.0分)执行下列语句后,*(p+1)的值是【1】.char s[3]="ab",*p;p=s;答案:b第8题(1.0分)若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*"); 答案:0第9题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:void第10题(1.0分)C语言中,数组元素的下标下限为【1】.答案:0 第11题(1.0分)int a=1,b=2,c=3; 执行语句a=b=c;后a的值是【1】.答案:3第12题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:0第13题(1.0分)将数组a的首地址赋给指针变量p的语句是【1】.答案:p=a;第14题(1.0分)以下程序的输出结果为【1】,#include "stdio.h" main(){inta=010,j=10;printf("%d,%d\n",++a,j--);} 答案:9,10第15题(1.0分)假设有条件 int x=1,y=2,z=3;则表达式z+=x>y?++x:++y的值是【1】.答案:6二、判断共15题(共计15分)第1题(1.0分)do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第2题(1.0分)关系运算符的优先级高于算术运算符并且低于赋值运算符.答案:N第3题(1.0分)C程序中的关键字必须小写.答案:Y第4题(1.0分)若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第5题(1.0分)数组中的元素类型不能不同答案:Y第6题(1.0分)a=(b=4)+(c=6) 是一个合法的赋值表达式.答案:Y第7题(1.0分)int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第8题(1.0分)若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真".答案:Y第9题(1.0分)int i,*p=&i;是正确的C说明语句.答案:Y第10题(1.0分)语句"int *pi,pj"定义了两个指针变量答案:N第11题(1.0分)如果函数值的类型和return 语句中表达式的值不一致,则以函数类型为准.答案:Y第12题(1.0分)C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第13题(1.0分)在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第14题(1.0分)语句 printf("%f%%",1.0/3);输出为0.333333.答案:N第15题(1.0分)若i =3,则printf("%d",-i++);输出的值为-4.答案:N三、单项选择共17题(共计34分)第1题(2.0分)下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82 B:213.83 C:213 D:3.8 答案:C第2题(2.0分)下列定义不正确的是(). A:#define PI 3.141592 B:#define S345 C:int max(x,y); int x,y; { }D:static char c; 答案:C第3题(2.0分)以下程序段的输出结果为().char c[]="abc";int i=0;dowhile(c[i++]!='\0');printf("%d",i-1); A:abc B:ab C:2 D:3 答案:D第4题(2.0分)若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a'; k=12; printf("%x,%o,",ch,ch); printf("k=%%%d\n",k); A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12 D:61,141,k=%d 答案:C第5题(2.0分)对 for(表达式1; ;表达式3) 可理解为().A:for(表达式1;0;表达式3) B:for(表达式1;1;表达式3)C:for(表达式1;表达式1;表达式3)D:for(表达式1;表达式3;表达式3) 答案:B第6题(2.0分)以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无 B:###### C:# D:### 答案:B 第7题(2.0分)下列语句的结果是(). main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A:3,3 B:3,4 C:4,3 D:4,4 答案:D 第8题(2.0分)设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为().A:12 B:144 C:0 D:132 答案:C第9题(2.0分)执行语句 for(i=1;i++<4;); 后变量 i 的值是().A:3 B:4 C:5 D:不定答案:C第10题(2.0分)若有char a[80],*s=a;正确的输入语句是().A:scanf("%s",s); B:gets(*s);C:scanf("%c",s); D:getchar(s,80); 答案:A第11题(2.0分)以下函数调用语句中实参的个数是().func((e1,e2),(e3,e4,e5));A:2 B:3 C:5 D:语法错误答案:A第12题(2.0分)下列运算符中优先级最高的是().A:< B:+ C:&& D:!=答案:B第13题(2.0分)int a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是().A:for(i=1;i<11;i++)a[i]=i;B:for(i=1;i<11;i++)a[i-1]=i;C:for(i=1;i<11;i++)a[i+1]=i;D:for(i=1;i<11;i++)a[0]=1; 答案:B第14题(2.0分)若k为int型变量,则以下程序段的执行结果是().k=-8567; printf("k=|%06D|\n");A:格式描述符不合法,输出无定值 B:输出为k=|%06D| C:输出为|0-8567| D:输出为|-8567|答案:B第15题(2.0分)在C语言中,要求运算数必须是整型的运算符是().A:^ B:% C:! D:> 答案:B第16题(2.0分)下列运算符中是C语言关系运算符的是().A:~ B:! C:& D:!= 答案:D第17题(2.0分)若有说明:inta[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是().A:2 B:3 C:4 D:无确定值答案:B四、程序填空共2题(共计12分)第1题(6.0分)/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:以下程序的功能如(图1)。

C语言试题(部分有答案)

C语言试题(部分有答案)

选择题1.1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束。

B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束1.2.以下叙述正确的是()A.在C语言中,main函数必须位于程序的最前面。

B.C语言的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C语言进行编译的过程中,可发现注释中的拼写错误1.3.C语言规定:在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后2.2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()A.7 B.8 C.6 D.22.3.若有说明语句:char c=‟\66‟ ; 则说明c ()A.包括1个字符B.包括2字符C.包括3字符D.一个不合法的表达式,c的值不确定2.4.设变量a 是int,f是float, i是double,则表达式10+‟a‟+i*f值的数据类型为()A.int B.float C.double D.不确定3.1.已知ch是字符变量,下面不正确的赋值语句是()A.ch=‟a+b‟B.ch=‟\0‟C.ch=‟7‟+‟8‟D.ch=5+93.2.设x、y均为float型变量,则以下不合法的赋值语句是()A.++x B.y=(x%2)/10 C.x*=y+8 D.x=y=04.1.逻辑运算符两侧运算对象的数据类型()A.只能是0或1 B.只能是0或非0整数C.只能是整型或字符型数据D.可以是任何类型数据4.2.判断char型变量ch是否为大写字母的正确表达式是()A.‟A‟<=ch<=‟Z‟B.(ch>=‟A‟)&(ch<=‟Z‟)C.(ch>=‟A‟)&&(ch<=‟Z‟) D.(…A‟<=ch)AND(…Z‟>=ch)4.3.已知x=43,ch=‟A‟,y=0;则表达式(x>=y&&ch<‟B‟&&!y)的值是()A.0 B.语法错C.1 D.‟假‟4.4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()If(x>y)z=x;x=y;y=zA.x=10,y=20,z=30 B.x=20,y=30,z=30C.x=20,y=30,z=10 D.x=20,y=30,z=204.5.以下程序的运行结果是()main(){int m=5;if (m++>5) printf(“%d”,m);else printf(“%d”,m--);}A.4 B.5 C.6 D.74.6.以下程序的运行结果是()main(){ int k=4,a=3,b=2,c=1;printf(“%d”,k<a?k:c<b?c:a);}A.4 B.3 C.2 D.15.1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.2.语句while(! E);中的表达式!E等价于()A.E= =0 B.E ! = 1 C.E ! = 0 D.E= =15.3.下面程序段的运行结果是()int n=0;while(n++<=2); printf(“%d”,n);A.2 B.3 C.4 D.有语法错5.4.以下程序段()x=-1;do{x=x*x}while(! x)A.死循环B.循环执行二次C.循环执行一次D.有语法错误5.5.以下不是无限循环的语句是()A.for(y=0,x=1;x>y++y;x=i++) i=x; B. for( ; ; x++=i );C.while(1){x++;} D.for(i=10; ;i--)sum+=i5.6.执行语句for(i=1;i++<4; );后变量i的值是()A.3 B.4 C.5 D.不确定6.1.在C语言中,引用数组元素时,其下标的数据类型允许是()A.整型常量B.整型表达式C.A或B D.任何类型6.2.若有说明:int a[][4]={0,0};则下面不正确的叙述是()A. 数组a的每个元素都可得到初值0B. 二维数组a的第一维大小为1C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值06.3.若二维数组a有m列,则在a[i][j]前的元素个数为()A. j*m+iB. i*m+jC. i*m+j-1D. i*m+j+16.4.下面程序的运行结果是()main(){ int a[6], i ;For (i=1; i<6; i++){ a[i] = 9 * (I – 2 + 4 * ( i > 3)) % 5;Printf( “%2d”, a[i] );}}A. -4 0 4 0 4B. -4 0 4 0 3C. -4 0 4 4 3D. -4 0 4 4 06.5 下面程序段的运行结果是()char c[5] = {…a‟, …b‟, …\0‟, …c‟, …\0‟};printf(“%s”, c);A. …a‟‟ b‟B. abC. ab cD. ab6.6 下面程序段的运行结果是()char a[7] = “abcdef”;char b[4] = “ABC”;strcpy(a, b);printf(“%c”, a[5]);A. 空格B. \0C. eD. f6.7 有下面程度段char a[3], b[]= “China”;a = b;printf(“%s”, a);则()A.运行后将输出China B.运行后将输出ChC.运行后将输出Chi D.编译出错6.8 下面程序的功能是将字符串s中所有的字符c删除。

北航《C语言程序设计》答案

北航《C语言程序设计》答案

北航《C语言程序设计》答案北航《c语言程序设计》在线作业一单项选择和判断问题一、单选题(共15道试题,共60分。

)1.以下叙述中正确的是a、预处理命令行必须位于源文件的开头。

B.源文件的一行上可以有多个预处理命令。

C.宏名称必须用大写字母表示d.宏替换不占用程序的运行时间正确答案:d2.以下选项试图描述一个新的类型名称,其中正确的名称是a.typedefv1int;b、typedefv2=int;c、类型定义tv3;d、 typedefv4:int;正确答案:C3.c语言对嵌套if语句的规定是:else总是与()配对。

a.其之前最近的ifb.第一个ifc、其上一个最近的IFD没有其他的,如果具有相同的缩进位置,正确答案是:c4.已知:#definen3;执行语句i=n*3;后,i=_______.a.3b.6c.9d、以上这些都不正确。

正确答案:C5.以下选项中可作为c语言合法常量的是a.-8b.-080c.-8e1.0d.-80.0e正确答案:a6.以下不正确的c语言标识符是_____。

a.abcb.abcc.a_bcd.ab.c正确答案:D7.数组int**a[3][4]占据多大空间a、 64b。

12c。

48d。

一百二十八正确答案:c8.已知:intx,a,B;以下选项中错误的if语句是_;。

()a.if(a=b)x++;b.if (a)=正确答案:b9.以下可以正确表示字符类型常量为___。

a、 \b。

?Tc、 \d.297正确答案:b10.表达式:10=9的值为()a.trueb非零值c.0d一正确答案:d11.在C语言中,形式参数的默认存储类型是()a.autob registerc。

静力学。

外人正确答案:a12.假设在C语言中,一个int数据在内存中占用2个字节,那么无符号int数据的值范围是_u。

a、 0~255b。

0~32767c。

0~65535d.0~2147483647正确答案:c13.有以下声明:intb;charc[10];,正确的输入语句是a.Scanf(\b.Scanf(\c.Scanf(\d.Scanf)(\正确答案:b)14.为了避免嵌套的条件分支语句的二义性,c语言规定,c程序中的else总是与()组成配对关系。

C语言程序设计题库及答案

C语言程序设计题库及答案

第1次客观题作业一、单选题(共30题,每题3分)1 .下面表示正确的是__A___。

A.C语言中的逗号是一种运算符B.在C语言中,一行只能有一个语句C.C中的变量不区分大小写D.c中的关键字可以做为变量名2 .字符型常量在内存中存放的是__A____代码值。

A.ASCII B.二进制C.十进制D.八进制3 .以下不正确的C语言标识符是(C )。

A.AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D____。

A.&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是___A___。

A.% B./ C.< D.!6 . C语言程序的基本单位是__C_____。

A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___B____程序。

A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。

A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+19 .下列(A )不属于结构化程序设计的循环结构。

A.For B.While C.if-else D.do-while10 .以下叙述中错误的是__A___。

A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。

A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。

for (i=3;i>0;i--) for (j=0;j<=4;j++){...}A.12 B.15 C.16 D.2013 .下列选项中,合法的C语言关键字是_D___。

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

C语言试题 2019.03一、填空题1、C语言中普通整型变量的类型说明符为,在内存中占字节,有符号普通整型的数据范围是。

2、C语言中基本的数据类型有:、、。

3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是。

4、共用体和结构体的定义格式类似,不同点是。

5、 5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是。

6、有语句:char A[ ]={”I am a student”};该字符串的长度是,A[3]= 。

7、符号”a”和’a’的区别。

8、下列程序的输出结果是。

int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d); }二、选择题1、以下选项中属于C语言的数据类型是()。

A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是()。

A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是()。

A. A、字符型数组中可能存放字符串。

B.B、可以对字符型数组进行整体输入、输出。

C. C、可以对整型数组进行整体输入、输出。

D.D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

5、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。

A. p+1B. a+1C. a++D. ++p6、设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。

A. 1B. 0C. 4D. 37、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是()A. 1 5 9B. 1 4 7C. 3 5 7D.3 6 98、读出以下语句的输出结果是( )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 99、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

if(x++>5) printf("%d",x);else printf("%d\n",x - -);A. 7和5B. 6和3C. 7和4D. 6和410、设有如下定义:char *aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。

int a=-1,b=4,k;k=(+ +a<0)&&!(b - -<=0);printf("%d,%d,%d\n",k,a,b);A. 1,0,4B. 1,0,3C. 0,0,3D. 0,0,412、下列程序的输出结果是()。

char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD13、执行下面的程序后,a的值是()。

#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a); }A. 10B. 1C. 9D. 014、14、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i15、下列程序执行后输出的结果是()。

int d=1;fun (int p){ int d=5;d + =p + +;printf("%d,",d); }main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d); }A. 8, 4B. 9, 6C. 9, 4D. 8, 516、表达式:10!=9的值是()。

A. trueB. 非零值C. 0D. 117、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是()。

A. i= *p;B. *p=*&j;C. i=&j;D. i=* *p;18、不能把字符串:Hello!赋给数组b的语句是()。

A. char b[10]={'H','e','l','l','o','!'};B. char b[10]; b="Hello!";C. char b[10]; strcpy(b,"Hello!");D.char b[10]="Hello!";19、在C程序中有如下语句:char *func(int x,int y); 它是()。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

20、以下程序的输出结果是()。

char str[15]=”hello!”;printf(“%d\n”,strlen(str));A. 15B. 14C. 7D. 6三、阅读程序题1、int x=6, y=7;printf(“%d,”,x++); printf(“%d\n”,++y);程序的输出结果是。

2、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是。

3、a=3;a+=(a<1)?a:1; printf(“%d”,a);结果是。

4、main( ){ int a[5]={2,4,6,8,10},*P,* *k;p=a; k=&p;printf("%d,",*(p++));printf("%d\n",* *k); }程序的输出结果是。

5、 main(){int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){b+=3; continue; }b-=5; } }程序的输出结果a的值为。

四、程序填空题1、求主次对角线之和。

main(){static int a[ ][3]={9,7,5,1,2,4,6,8};int I,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if( )s1=s1+a[I][j];if( )s2=s2+a[I][j];}printf(“%d\n%d\n”,s1,s2);}2、从键盘上输入10个数,求其平均值。

main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){ ;;}printf(“average=%f\n”,sum/10);}2 3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#include <stdio.h>main(){FILE *fp;char c;fp= ;do{c=getchar();fputs(c,fp);}while(c!=EOF);; ;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。

2、从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;若未找到,打印“not exist”。

3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。

4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

一、填空题1、int ,2个字节,-32768~ +32767 。

2、整型、实型、字符型。

3、- 4。

4 4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。

5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。

8、7,1 。

二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C 10、D11、D 12、D 13、B 14、B 15、A16、D 17、B 18、B 19、C 20、D三、阅读程序题(1) 6,8 (2) 3.141593,3.1416,3.142 (3) 4 (4) 2,4 (5) 8四、程序填空题1、I==j I+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w) fclose(fp);五、编程题1、main(){ int a,b,c;printf(“请输入三个整数:”); scanf(“%d,%d,%d”,&a,&b,&c);if(a<b)if(b<c) printf(“max=%d\n”,c);else printf(“max=%d\n”,b);else if(a<c) printf(“max=%d\n”,c);else printf(“max=%d\n”,a);}2、#include”stdio.h”main(){ int I,a;for(I=1;I<=10;I++){ scanf(“%d”,&a);{ if(a%7==0)printf(“%d”,a);break; } }if(I==11)printf(“not exist”);}3、float average(float array[ ],int n){ int I;float aver,sum=array[0];for(I=1;I<n;I++)sum=sum+array[I];aver=sum/n;return(aver); }main(){ float ave,score[10];int I;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%f\n",ave); }4、#include"stdio.h"#define N 3struct student{ long stu_num;char sex;char name[15];int score[4];float average; };main(){ int I,j,index;float sum,max;struct student stuarr[N];for(I=0;I<N;I++){ printf("please input %d student information:\n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]); }for(I=0;I<N;I++){ sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0; }max=stuarr[0].average;index=0;for(I=1;I<N;I++)if(stuarr[I].average>max){max=stuarr[I].average; index=I; }printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average); }。

相关文档
最新文档