C语言4卷

合集下载

2024年6月青少年软件编程C语言等级考试试卷四级真题

2024年6月青少年软件编程C语言等级考试试卷四级真题

2024年6月青少年软件编程C语言等级考试试卷四级真题分数:100 题数:41.人以群分(25分)。

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。

要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

输入:第一行给出一个正整数N(2≤N≤105)。

随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。

题目保证这些数字以及它们的和都不会超过231。

输出:按下列格式输出:,其中N1是外向型人的个数;N2是内向型人的个数;N3是两群人总活跃度之差的绝对值。

2.那就别担心了(25分)。

下图转自“英式没品笑话百科”的新浪微博——所以无论有没有遇到难题,其实都不用担心。

博主将这种逻辑推演称为“逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义……)。

现给定一个更为复杂的逻辑推理图,本题就请你检查从一个给定命题到另一个命题的推理是否是“逻辑自洽”的,以及存在多少种不同的推理路径。

例如上图,从“你遇到难题了吗?”到“那就别担心了”就是一种“逻辑自洽”的推理,一共有3条不同的推理路径。

输入:首先在一行中给出两个正整数N(1<N≤500)和M,分别为命题个数和推理个数。

这里我们假设命题从1到N编号。

接下来M行,每行给出一对命题之间的推理关系,即两个命题的编号S1 S2,表示可以从S1推出S2。

题目保证任意两命题之间只存在最多一种推理关系,且任一命题不能循环自证(即从该命题出发推出该命题自己)。

最后一行给出待检验的两个命题的编号A B。

输出:在一行中首先输出从A到B有多少种不同的推理路径,然后输出Yes如果推理是“逻辑自洽”的,或No如果不是。

题目保证输出数据不超过109。

3.凑零钱(25分)。

韩梅梅喜欢满宇宙到处逛街。

C语言试卷4

C语言试卷4

C语言模拟考试学号:4 姓名:童蕊蕊得分:1 ..................................................................单项选择以下叙述正确的是()。

A.用do-while语句构成的循环,在while后的表达式为非零时结束循环.B.do-while语句构成的循环不能用其它语句构成的循环来代替.C.用do-while语句构成的循环,在while后的表达式为零时结束循环D.do-while语句构成的循环只能用break语句退出.【评分报告得分:1.0 之 1.0 】【参考答案】正确C【学生答案】C假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。

A.2B.6C.8D.7【评分报告得分:0.0 之 1.0 】【参考答案】错误C【学生答案】[未答此题]以下选项中合法的实型常数是()。

A.E-3B..2E0C.1.3ED.5E2.0【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]下面错误的说明语句是( ).A.int *a[10];B.int (*a)[10];C.int a['a'];D.int a[ ][ ];【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]打开文件时,方式"w"决定了对文件进行的操作是()。

A.追加写盘B.只写盘C.可读可写盘D.只读盘【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]能将高级语言编写的源程序转换为目标程序的是()。

A.编译程序B.链接程序C.解释程序D.编辑程序【评分报告得分:0.0 之 1.0 】【参考答案】错误A【学生答案】[未答此题]下面程序段运行的结果是( ).x=-1;do{x=x*x;}while (!x);A.循环执行一次B.有语法错误C.死循环D.循环执行两次【评分报告得分:0.0 之 1.0 】【参考答案】错误A【学生答案】[未答此题]若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是()。

《C语言程序设计》试卷4

《C语言程序设计》试卷4

《C语言程序设计》试卷四一、单项选择题(每小题1分,共35分)1、一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、下面四个选项中,合法的用户标识符是()A)P_#$ B)2ha C)goto D)_ab3、要把整数67523赋与整型变量I,则应说明I的类型是()A)int B)long C)short D)unsigned4、已知int I; float f; 正确的表达式是()A) (int f)%I B) int(f)%I C) int (f%I) D) (int)f%I5、判断char型变量c1是否为小写字母的正确表达式是()A)'a'<=c1<='z'B)(c1>=a) && (c1<=z)C)98<=c1&&123>=c1 D)c1>='a'&& c1<='z'6、在C语言中,字符型数据在内存中以何种形式存放?()A)原码 B)BCD码 C)ASCII码D)补码7、执行以下语句后b的值为()。

int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ;( a = w > x ) && ( b = y > z ) ;A)6 B)0 C)1 D)48、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。

A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5;9、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是()A) int B) char C) float D) double10、已知字母A的ASCII码为65,以下程序段的输出结果是()char c1=‟A‟,c2=‟Y‟;printf(″%d,%d″,c1,c2);A)65,90 B)A,Y C)65,89 D)输出格式不合法11、阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为()。

C语言试题4

C语言试题4

14、下面描述正确的是( )。

A)字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串"stop "与"stop"相等D)字符串“That”小于字符串"The"15、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。

A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式16、函数调用结束后,形式参数( )。

A)继续占用相同大小的内存B)占用的内存减小 C)释放内存 D)不确定17、以下叙述错误的是()A)一个C程序总是从main函数开始执行的;B)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上;C)每个语句和数据定义的最后必须有一个分号;D)C语言本身有输入输出语句。

18、条件运算符的结合方向是( )。

A)自右至左; B)自左至右; C)任意; D)前后顺序;19、下列正确定义一个文件指针pm的语句是()A)FILE pm; B)file *pm; C)FILE *pm; D)file pm;20、以下选项中属于C语言的数据类型是()A)复数型 B)逻辑型C)双精度型D)集合型二、填空题(10分)1、c语言中按函数的调用位置来分有函数语句、函数参数和。

2、请定义一个指向字符类型数据的指针变量p,3、如果被调用函数的实参列表包含多个实参,则各参数间用隔开。

4、设int a[10],*p=a;则对a[3]的引用可以是或5、定义一个整型数组a[10],则下标最大的数组元素为。

6、要使指针变量与变量之间建立联系,用运算符来建立指针变量与变量之间的联系。

7、若有以下定义和语句:int a[4]={0,1,2,3}, *p; p=&a[1]; 则++(*p)的值是8、运算符=的结合性是。

9、设有如下定义:int a[5]={0,2,4,6,8},*p1=&a[1],*p2=&a[4];则*p2-*p1的值为。

国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)

国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)

国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)题型有:1. 选择题选择题1.若有定义:int x[10],*pt=x;,则对x数组元素的正确引用是( )。

A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)正确答案:D解析:没有A选项的引用形式。

*与&放在一起作用抵消,但x[10]下标10超出了数组下标范围,所以B选项错误。

最大只能引用到x[9],而*(pt+i)表示引用指针pt所指元素后的第i个元素,所以C选项错误,最大只能为*(pt+9)。

D 选项正确。

知识模块:数组2.有以下程序:#include<stdio.h>main( ){int i,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序的运行结果是( )。

A.20B.25C.45D.36正确答案:B解析:统计1~9这9个数中的奇数和,此题考查指向数组的指针。

C语言规定数组名代表数组的首地址,也就是第一个元素的地址,因此*(t+i)代表数组的第i+1个元素。

程序的运行结果是1+3+5+7+9=25。

知识模块:数组3.有以下程序:#include<stdio.h>main( ){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)e[s[i]]++;for(i=1;i <5;i++)printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是( )。

A.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 3正确答案:B解析:在for(i=0;i<12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2,因此B选项正确。

知识模块:数组4.下列定义数组的语句中正确的是( )。

《C语言》试卷4

《C语言》试卷4

2017年下学期《C语言》期中试题(总分:100分时间:90分钟)一、单项选择题(每题4分,共80分)1、下列数据中,不属于字符型常量的是_________A. 'A'B. '\n'C. "B"D. '102'2、能将高级语言编写的源程序转换成目标程序的是_________A.编译程序B.编辑程序C. 链接程序D.解释程序3、若x和y为整型变量,对于scanf("a=%d,b=%d",&x,&y);语句,可使x和y的值分别为10和20的正确输入方法是_________。

A.10 20B.10, 20C.a=10 b=20D.a=10,b=204、下列标识符中,不合法的用户标识符为_________。

A.aBaB._11C.a_1D.a&b5、关于下面的程序,正确的说法是_________。

#include stdio.hvoid main(){ float a=b=2, result;result=a/b;printf("result=%f\n", result); }A. 程序可正常编译,结果为result=1.000000B. 共有1处语法错误C. 共有2处语法错误D. 共有3处语法错误6、若已定义char c='\010',则变量c所占的字节数为__________。

A.1B.2C.3D.47、下列整型常量,错误的是__________。

A.025B.285LC.-285uD.285lu8、以下程序运行后的输出结果是______。

#include <stdio.h>main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m); }A.12353514B.12353513C.12343514D.123435139、以下程序运行后的输出结果是______。

2019-北京理工大学-成教-《c语言程序设计》期末测试卷(4)

[试题分类]:C语言程序设计1.下列叙述中,错误的是A. 一个C语言程序必须有且只有一个主函数B. C语言程序的注释必须位于语句之后C. 一个C语言程序可以有多个函数D. C语言程序的基本结构是函数答案:B题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,所有符号均为C语言关键字的选项是A. enum,ifB. include,elseC. scanf,structD. continue,repeat答案:A题型:单选题知识点:第2章 C语言概述难度:13.下列选项中,可以正确表示字符型常数的是A. 297B. "a"C. "\n"D. '\t'答案:D题型:单选题知识点:第3章数据类型与运算规则难度:14.下列C语言运算符中,要求操作数必须是int类型的是A. ++B. --C. %D. /答案:C题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int w=1,x=2,y=3,z=4;”,则条件表达式“w>x w : y<z y : z”的结果是A. 4B. 3C. 2D. 1答案:B题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int x;”,则执行完逗号表达式“(x=4*5,x*5),x+25”后,变量x的值是A. 20B. 100C. 45D. 125答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=-1,j=1;”,则执行下列语句后的输出结果是if((++i<0) && !(j--<0))printf("%d %d\n",i,j);else printf("%d %d\n",j,i);A. -1 1B. 0 0C. 0 1D. 1 0答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.下列叙述中,错误的是A. 循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环B. 循环语句中使用break语句是为了使流程跳出循环体,提前结束循环C. switch语句中使用break语句或continue语句的作用是相同的D. break语句不能用于循环语句和switch语句以外的其他语句答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int x=10,i;”,则下列语句执行后的结果是for (i=0; x>8; ) printf ("%d ",--x);A. 10 9B. 9 8C. 死循环D. 语句错误答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=0;”,则执行语句“while(n<=2) printf("%d", ++n);”后的输出结果是A. 01B. 12C. 012D. 123答案:D题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=1,y=10;”,则执行下列语句后变量x的值是do \{y-=x; x++;\} while(y--<0);}A. 8B. 5C. 2D. -4答案:B题型:单选题知识点:第6章循环结构的程序设计难度:212.下列对字符数组str的定义、初始化或赋值语句中,正确的是A. char str[ ]={"Hello Ice!"};B. char str[10]; str={"Hello Ice!"};C. char str[10]; strcpy(str, "Hello Ice!"};D. char str[10]={"Hello Ice!"};答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[3][3]=\{1,2,3,4,5,6,7,8,9\},i;”,则执行下列语句后的输出结果是 for(i=0;i<3;i++)printf("%d,",a[2-i][i]);}A. 9,5,1,B. 9,4,1C. 7,5,3,D. 7,6,1,答案:C题型:单选题知识点:第7章数组难度:214.C语言中,确定函数返回值类型的是A. 调用该函数时由系统默认B. 调用该函数时的主调函数C. return语句中的表达式D. 定义该函数时指定答案:D题型:单选题知识点:第8章函数难度:115.函数调用语句“fun(x1,x2+x3,(x4,x5));”中包含的实参个数是A. 3B. 4C. 5D. 有语法错误答案:A题型:单选题知识点:第8章函数难度:116.若有定义“int a[5],*p=a;”,则下列选项中,对数组a中元素引用正确的是A. *&a[5]B. *(a+2)C. *(p+5)D. a+2答案:B题型:单选题知识点:第9章指针难度:217.{执行下列语句序列后的输出结果是int arr[ ]=\{1,2,3,4,5\}, *ptr=arr;*(ptr+2)+=2; printf("%d,%d",*ptr,*(ptr+2));}A. 3,5B. 1,3C. 2,4D. 1,5答案:D题型:单选题知识点:第9章指针难度:218.{若有定义“enum color \{red, yellow=2, blue, white, black\} c1;”,则执行语句“printf("%d", c1=white);”后的输出结果是}A. 4B. 3C. 2D. 1答案:A题型:单选题知识点:第10章结构、联合与枚举类型难度:219.当定义一个结构体变量时,系统为它分配的内存空间是A. 结构体中占内存容量最大成员所需内存容量B. 结构体中任意一个成员所需内存容量C. 结构体中各成员所需内存容量之和D. 结构体中第一个成员所需内存容量答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.已知函数调用“fread(buffer, size,count, fp);”,其中fp代表的是A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项答案:B题型:单选题知识点:第11章文件难度:121.字符串"\"EOF\n=-\61\""的长度是。

C语言 程序设计基础试题四及答案

《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。

c语言历年试卷

一、 单选题(四个选项中,只有一个选项是正确的, 请将正确选项涂写在答题卡相应位置上,答在试卷上不得分.共50道小题,80分,其中1-20题每题1分,21-50题每题2分)1. 下列4个选项中,( )是合法的用户自定义标识符。

A. b-bB. floatC. 2aD. _isw2. 下列表达式中值为0的是( )。

A .3%5B .3/5.0C .3/5D .3.0/53. 在C 程序中,用( )表示逻辑值“真”。

A .1 B. 非0的数 C. 非 1 的数 D. 大于 0 的数4. 假设在程序中a ,b ,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 abc1 的表达式是( )。

A. 1/a*b*cB .1/(a*b*c)C .1/a/b/(float)cD .1.0/a/b/c5. 若有说明和语句:int a=5;++a;此处表达式++a 的值是( )A .7B .6C .5D .46. 以下所列的C 语言常量中,错误的是( )A . 0xFFB .1.2e0.5C .2LD .'c'7. 以下程序段的输出结果是( )int a=1234;printf("%2d\n",a);A.12 B.34 C.1234 D.提示出错、无结果8.若a为int类型,且其值为3,则执行完表达式a-=a*a后,a的值是()A.-3 B.9 C.-6 D.69.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.'a'<=c<= 'z' B.(c>= 'a')||(c<= 'z')C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z')10. 有以下程序段int n=0,p;do {scanf("%d",&p);n++;} while(p!=12345&&n<3);此处do-while循环的执行条件是()。

山东科技大学C语言作业四

Problem A: 只有一个二元运算符的表达式运算Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 5044 Solved: 1937[Submit][Status][Web Board]Description编程序读入并计算只有一个二元运算符的表达式的值。

用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。

Input每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。

测试样例不存在除数为0的情况。

输入以a和b为0,且用一个空格分开结束。

Output每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。

Sample Input33+58*92.21-617/39%30 0Sample Output3872invalid op-55#include<stdio.h>#include<math.h>void main(){int i,a,b;char c;for(i=0;i<=100;i++){for(;scanf("%d%c%d",&a,&c,&b)!=EOF;) if(a==0&&c==' '&&b==0)goto loop;elseswitch(c){case'+':printf("%d\n",a+b);break;case'-':printf("%d\n",a-b);break;case'*':printf("%d\n",a*b);break;case'/':printf("%d\n",a/b);break;case'%':printf("%d\n",a%b);break;default:printf("invalid op\n");}}loop:i=101;}Problem B: 摄氏——华氏温度转换表Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 6632 Solved: 1711[Submit][Status][Web Board]Description已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。

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

一、单项选择题。

从A、B、C、D四个选项中,选择一个最佳答案填入括号内( 每题1分,共30分)。

1.以下选项中不合法的C语言标识符是()。

A)_123 B)a_b C)A$ D)Dim2.一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到main函数结束3.以下选项中正确的整型常量是()。

A)'12' B)-20 C)1,000 D)"456"4.C语言中运算对象必须是整型的运算符是()。

A) % B) / C)! D)*5.字符串"a\\abcd\101b"的长度是()。

A)8 B) 9 C)11 D)126.设int x=15,y;y=x>10?100:200;,则y的值为()。

A) 0 B) 1 C)100 D)2007.以下程序运行后的输出结果是()。

main(){ int m=0256, n=256;printf("%o %o\n", m, n);}A)0256 0400 B)0256 256 C)256 400 D)400 400 8.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是()。

A)a=a+b;b=a-b;a=a-b; B)t=a; a=b; b=t;C)a=t; t=b; b=a; D)t=b; b=a; a=t;9.设有int a,b;,则语句:printf("%d",(a=2)&&(b=-2));的输出结果是()。

A)无输出 B)结果不确定 C)-1 D)110.以下程序的输出结果是()。

main(){ int i=1,sum=0;while (i<6){sum=sum+i;i++;}printf("%d\n",sum);}A) 13 B) 14 C)15 D)1611.以下程序的输出结果是()。

main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c=c+1;printf("%d\n",c);}第 1 页共7 页A)0 B)1 C)2 D)312.有以下程序段int k=0;while(k=1)k++;while循环执行的次数是()。

A)无限次 B)有语法错,不能执行C)一次也不执行 D)执行1次13.break语句的作用的说法中正确的是()。

A) 无论在任何情况下,都中断程序的执行,退出到系统下一层B) 在多重循环中,只能退出最靠近的那一层循环语句C) 跳出多重循环D) 只能修改控制变量14.以下定义语句中,错误的是()。

A)int a[ ]={1,2}; B)char a[3];C)char s[10]= "test"; D)int n=5,a[n];15.假设一个基本整型所占空间按2个字节计算,有以下定义语句int a[10]={1,2,3};,则数组a在内存中所占的字节数是()。

A)3 B)6 C)10 D)2016.以下不能正确进行字符串赋初值的语句是()。

A)char str[5]= "good!"; B)char str[ ]="good!";C)char str[6]= "good!"; D)char str[6]={'g','o','o', 'd', '! '};17.若有说明:int a[3][4];,则对a数组元素的非法引用是()。

A)a[0][2*1] B)a[1][3] C)a[4-2][0] D) a[0][4]18.若有说明:int a[3][4]={0};,则下列正确的叙述是()。

A)只有元素a[0][0]可得到初值0B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值019.若用一维数组名作为调用函数时的实参,则传递给形参的是()。

A)数组首元素的值B)数组的首地址C) 数组元素的个数D) 数组中所有元素值之和20.设有宏定义#define S(a,b) 2*a+b,则下面程序段的运行结果是()。

int a=2,b=1,h=1;printf("%d\n",a*S(b,h));A) 11 B) 7 C) 10 D) 521.要使函数体内某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,则该变量的存储方式应该用关键字()来声明。

A) auto B) extern C) register D) static22.在C程序中有语句:char *func(int x,int y);,它是()。

A)函数func的定义 B)函数func的调用C)函数func的原型说明 D)不合法的23.以下叙述中不正确的是()。

A)在不同的函数中可以使用相同名字的变量第 2 页共7 页B)函数中的形式参数是局部变量C)在一个函数内的复合语句中定义变量在整个该函数范围内都有效D)在一个函数内定义的变量只在本函数范围内有效24. 若有说明:int (*p)[3];,则标识符p()。

A)定义不合法B)是一个指针数组名,每个元素是一个指向整型变量的指针C)是一个指针,它指向一个具有三个元素的一维数组D)是一个指向整型变量的指针25. 执行下列程序段后,*(p+5)的值是()。

static char s[ ]= "Hello";char *p; p=s;A)'o'B)'\0'C)'o'的地址D)不确定的值26.以下程序的输出结果是()。

#include "stdio.h"main(){static int a[]={1, 2, 3, 4, 5, 6}, *p;p=a;*(p+3)+=2;printf("%d,%d\n", *p, *(p+3));}A)0,5 B)1,5 C)0,6 D)1,627.若有如下定义,则对data 中的a 成员的正确引用是()。

struct sk{int a;float b;}data, *p=&data;A)*(p).data.a B)(*p).a C)p->data.a D)p.data.a28.假设运行环境为turbo C 2.0,若有说明:union{int i;char c;float a;}ex;则sizeof(ex)的值是()。

A)4 B)5 C)6 D)729.以下运算符优先级最高的是()。

A)∧ B)&& C)| D)~30.若要用fopen函数打开一个已存在的二进制文件,且该文件要既能读又能写,则使用文件方式的字符串应是()。

A) "rb+" B) "wb" C) "rb" D) "ab"二、填空题(每空2分,共20分)。

1. C程序可以分为三种基本结构,即顺序结构、选择结构、结构。

2.设有int a;,则逗号表达式a=3*5, a++的值是。

3. 设有int x,y; scanf("%d%d", &x, &y);,在输入数据给x和y时,分隔符可以是空格、_________键和Tab键。

第 3 页共7 页4.有算术式a>b>c,请写出它的C语言表达式。

5.设有定义:int a[3][4]={{1, 2}, {0}, {4, 6, 8, 10}};,则初始化后,数组元素a[1][2]得到的初始值是。

6.C语言函数的调用有函数表达式、函数语句和三种形式。

7.指针变量的加减运算只能对指向的指针变量进行。

8.设有定义:enum team{my, your=4, his, her=his+10};则printf("%d,%d,%d,%d\n", my, your, his, her);的输出结果是。

9.有以下程序main(){ unsigned char a, b, c;a=0x3;b=a|0x8;c=b<<1;printf("%d, %d\n", b, c);}程序运行后的输出结果是。

10.C语言中用来定义文件类型指针的标识符是。

三、阅读程序,写出程序运行结果(每题4分,共20分)。

1.#include <stdio.h>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);}程序的运行结果是2.#include<stdio.h>main(){ int i, j, row, col, min;int arr[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}};min=arr[0][0];for(i=0;i<3;i++)for(j=0;j<3;j++)if(arr[i][j]<min){ min=arr[i][j];row=i;col=j;}printf("%d, %d, %d\n", min, row, col);}程序的运行结果是。

3.#include <stdio.h>#include <string.h>第 4 页共7 页void reverse(char str[], int n){int i,j;char ch;for(i=0, j=n-1;i<=j;i++, j--){ch=str[i];str[i]=str[j];str[j]=ch;}}main(){char str[80];int n;printf("Please input string(long<80): ");gets(str);reverse(str, strlen(str));puts(str);}程序运行后,如果从键盘上输入How are you!则运行结果是。

4.#include <stdio.h>main(){int *p, a=10, b=1;p=&a;a=*p+b;printf("%d",a);}程序的运行结果是。

相关文档
最新文档