第一篇:2009年C语言考试(B)--
课程名称:C语言程序设计广东工业大学考试试卷(B)试卷满分 100分
考试时间:09年 5月 6日(第12周 星期三)
注:所有答案要写在答题纸上
一、单项选择题(共40分,每题2分)
1、一个可执行C程序的开始执行点是
A.程序中的第一个语句B.包含文件的第一个函数
C.名为main的函数D.程序中的第一个函数
2、下列数据类型中,不属于基本数据类型的是
A.intB.数组
C.floatD.char3、不符合C语言语法法则的标识符是
A._fileB.NAME C.x123D.case
4.、对于C程序的函数,下列叙述中正确的是:
A.函数的定义不能嵌套,但函数调用可以嵌套5
B.函数的定义可以嵌套,但函数的调用不能嵌套
C.函数的定义和调用均不能嵌套
D.函数的定义和调用均可嵌套
5.、关于字符串和字符的说法,不正确的是:
A.“A”与'A'是相同的B.字符可以参加算术运算
C.可以有任何长度的字符串 D.转义字符的长度为16、以下程序段输出的结果是:
Printf(“%dn”,strlen(“ATSn0121”));
A.11B.10C.9D.87、以下只有在使用时才为该类型变量分配存储空间的存储类说明是:
A.auto 和 staticB.auto 和 register
C.register 和 staticD.extern 和 register
extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可
用来进行链接指定。
C语言中提供了存储说明符auto,register,extern,static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和
register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。
8、若变量为float 类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a 赋予10.0,b赋予 22.0,c赋
予33.0,不正确的输入形式是:
A.10<回车> B.10,22,33<回车> C.10<回车>D.1022<回车>
22<回车>22 33<回车>33<回车>
33<回车>
9、以下变量X、Y、Z均为double 类型且已正确赋值,对数字式子XY*Z,不正确的C语言表达式是:
A.X/Y*Z B.X*(1/(Y*Z))C.X/Y*1/ZD.X/Y/Z10、以下程序的输出结果是:
main()
{
int x='f ';
printf(“n%c”,'A'+(x-'a'));
}
A.IB.GC.FD.J11、对两个数组a 和 b 进行初始化,则叙述正确的是:
char a[]=“abcde”;char b[]={'a','b','c','d','e'};
A.a与b数组类型不相同B.a与b长度相同
C.a和b都存放字符串D.a数组比b数组的长度长
12.、参考下面的程序段,下面正确的判断是
#define A 3
#define B(a)((A+1)*a)
……
x=3*(A+B(7));
A.程序错误,不允许嵌套宏定义 B.x=21
C.程序错误,宏定义不允许有参数 D.x=9313、数组名作为参数传递给函数,作为实参的数组名被处理为:
A.该数组的首地址B.该数组元素的个数
C.该数组中各元素的值D.该数组的长度
14、以下程序输出的结果是:
main()
{
int w=4,x=3,y=2,z=1;
printf(“%dn”,(w } A.1B.2C.3D.415、下列程序段中,正确的是: A.int x=0,y=10;B.int x=0,y; switch(x)switch(x) {case y: x++;break;{case x>0:y=1;break; case y+2: x+=10;break;case x==0:y=0;break; case y-1: x=-7;break;}case x<0: y=-1;break;} C.int x=10,y=20, z;D.int x=0,y; switch(x)switch(x) {case 12:z=3;break;{case 3: case y+1:x+=10;break;case-1:y=2;break; case y-8:y=-3;break;}case 2:break;} 16、有以下函数的定义:int fun(int n,double x){……}若选项中的变量都已经正确定义并赋值,则对函数fun 正确调用的语句是: A.fun(int y,double m);B.printf(“%dn”,fun(10,12.5)); C.fun(x,n);D.int fun(10,12.5); 17、以下程序段while循环执行的次数是: int k=0; while(k=1)k++; A.无限次B.有语法错误,不能执行 B.一次也不执行 D.执行一次 18、当执行下面的程序时,如果输入ABC,则输出的结果是: #include “stdio.h” #include “string.h” main() { char ss[10]=“12345”; gets(ss); strcat(ss, “6789”); printf(“%sn”,ss+1); } A.BC67B.2345ABC67C.BC6789 D.BC45678919、以下程序输出的结果是; void fun(int a,int b, int c){c=a*b;} main(){int c;fun(2,3,c);printf(“%dn”,c);} A.6 B.1C.无定值 D.020、当运行以下程序输入三行,每行都是在第一列上开始,则循环输出结果是: 输入:a<回车> b<回车> cdef<回车> #include “stdio.h” #defineN6 main(){charc[N];inti=0; for(i=0;i for(i=0;i A.abcdef B.aC.aD.a bbb ccdefcd d e f 二、填空题(30分,每空2分) 求下列表达式的值(x,y为int 型变量)。 1、设x=4,y=8(x++)*(--y)(28【1】) 2、45%8+(5>4)+(3>6)(6【2】) 把下列条件用关系表达式或逻辑表达式描述(x为int 型变量,c为char型变量)。 3、c为数字字符。(c>=’0’ && c<=’9’orc>=48 && c<=57【3】) 4、x是奇数。(x%2!=0orx%2==1【4】) 5、c语言中,形参的缺省类型是(auto【5】) 6、以下程序段输入数据999ga67<回车>,x、y、z的值分别是 (【6】) int x;char y;float z; scanf(“%2d%c%f”,&x ,&y ,&z); printf(“%d ,%c ,%f ”, x, y, z);99, 9,-107374176.0000007、写出输出单精度实数,其输出格式占5位整数和2位小数的格式说明符。 (%8.2f【7】) 8、下列程序是计算 1+2+3+4+……+100的值。 main() { int i, s; s=0i = 1; do { s=s+i【9】;i++;} whlie(i<=); printf(“1+2+3+4+……+100= %d 【11】”,s); } 9、下列是用冒泡法对n 个数按由大到小的次序进行排序的函数(注:为提高排序速度,在算法中增加了下列措施:当某趟冒泡过程中未发生数据交换时,即表示数据已排序完毕,应提早结束排序工作)。 void bubble(int a[] , int n) {int i, j , t , flag , temp; i = 0; do {i++; t = n-i; flag = 0; for(j = 1【12】;j<=torj<=n-i 【13】;j++) if(a [j-1] < a[j]) { temp =a[j1] = a [j];a[j] = temp; flag = 1;【14】; }); } 三、写出下列程序的运行结果(20分,每题5分) 1、main(){ static char x[ ] = “ABCDE”;E int i;DE for(i= 4;i>=0;i--)CDE printf(“%sn”,x+i);BCDE }ABCDE2、main() { int cc; for(cc = 1;cc<=4;cc++) fun();2,4,6,8 printf(“n”); } void fun() {staticinta;a+=2; printf(“%d,”, a); } 3、main() { int a; for(a= 100;a>=0;a--) {if(a %8==0) break; if(a%2==0) continue; printf(“%d,” , a);99,97,96 } printf(“%d ”, a); } 4、main(){ char st[ ] = “ToStringType”; scanf(“%s”, st); int i; for(i=0;st[i]!= ' ';i++) if(st[i]>='A' && st[i]<='Z') printf(“%c”, st[i]);TST printf(“n i = %d” , i);i=12 } 四、编程题(10分) 编写一个判 n 是否为素数的子函数 int prime(int n),若n为素数返回1,否则返回0。通过main 函数输入一个整数,调用 prime子函数对整数进行测试 (整数是否为素数)结果。 #include void main() { int prime(int); int n; printf(“ninput an integer:”); scanf(“%d”, &n); if(prime(n)) printf(“n %d is a prime.n”, n); else printf(“n %d is not a prime.n”, n); getchar();system(“PAUSE”); } int prime(int n) { int flag=1, i; for(i=2;i<=n/2 && flag==1;i++) if(n%i==0) flag=0; return(flag); }一、二、三、四、五、#include 《C语言程序设计》课程考试题库 第一章 C语言概述 一、单项选择题 1、C 语言规定,必须用()作为主函数名。A.Function B.include C.main D.stdio 答案:C 2、()是C 程序的基本构成单位。 A.函数 B.函数和过程 C.超文本过程 D.子程序 答案:A 3、在 C 语言中,每个语句和数据定义是用()结束。A.句号 B.逗号 C.分号 D.括号 二、判断题 1、一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个主函数。()答案:正确 2、C 语言规定: 在一个源程序中, main函数的位置必须在最开始。()答案:错误 3、在 C 程序中语句是以分号结束的。() 答案:正确 第二章 程序的灵魂——算法 一、单项选择题 1、一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()A.有0个或多个输入 B.有0个或多个输出 C.有穷性 D.可行性 答案:B 2、以下叙述中正确的是()。A.C语言比其它语言高级。 B.C语言可以不用编译就能被计算机识别执行。 。C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。D.C语言出现的,具有其它语言的一切优点。答案:C 3、以下叙述正确的是()。 A.C语言的源程序不必通过编译就可以直接运行。 B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令。C.C语言源程序经编译形成的二进制代码可以直接运行。D.C语言中的函数不可以单独进行编译。答案:B 答案:B 二、判断题 1、C语言的书写格式不会影响程序的可读性。()答案:错误 2、C 语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。(答案:正确 3、健壮的算法不会因为非法输入而出现莫名其妙的状态。()答案:正确 第三章 数据类型 运算符与表达式 一、单项选择题 1、下列字符串是标识符的是()。 A._HJ B.9_student C.long D.LINE 1 答案:A 2、()不是 C 语言提供的合法关键字。 A.switch B.print C.case D.default 答案:B 3、判断字符型变量 ch 为小写字母的表达式是()。 A.’a’<=ch<=’z’ B.(ch>=a)&&(ch<=z)C.(ch>=’a’)||(ch<=’z’)D.(ch>=’a’)&&(ch<=’z’)答案:D 4、在C 语言中,回车换行符是()。A.n B.t C.v D.b)答案:A 5、设整型变量 a 值为9,则下列表达式中使 b 的值不为4的表达式()。A.b=a/2 B.b=a%2 C.b=8-(3,a-5)D.b=a>5?4:2 答案:B 6、能正确表示 x 的取值范围在[0,100]和[-10,-5]内的表达式是()。A.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B.(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)答案:B 7、10+’a’+1.5-567.345/’b’的结果是()型数据。A.long B.double C.int D.unsigned float 答案:B 8、设 a、b 和 c 是 int 型变量,且 a=2,b=4,c=6,则下面表达式中值为 0 的是()。A.‘a’+ ‘b’ B.a<=b C.a||b+c&&b-c D.!((a 9、已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。main(){char c=’A’;int i=10;c=c+10;i=c%i;printf(“%c,%dn”,c,i);} A.75,7 B.75,5 C.K,5 D.因存在非图形字符,无法直接显示出来 答案:C 10、C 语言中最简单的数据类型包括()。 A.整型,实型,逻辑型 B.整型,实型,字符型 C.整型,字符型,逻辑型 D.整型,实型,逻辑型,字符型 答案:B 11、C 语言中,运算对象必须是整型数的运算符是()。A.% B.C.% 和 D.** 答案:A 12、下面程序的输出结果是()。mian(){int x=2,y=0,z;x*=3+2;printf(“%d”,x);x*=y=z=4;printf(“%d”,x);} A.8 40 B.10 40 C.10,4 D.8,4 答案:B 13、下面程序的输出结果是()。main(){int i,j;i=16;j=(i++)+i;printf(“%d”,j);i=15;printf(“%d %d”,++i,i);} A.32 16 15 B.33 15 15 C.34 15 16 D.34 16 15 答案:A 14、若已定义 X和 Y为double 类型,则表达式:x=1,y=x+3/2 的值为()。A.1 B.2 C.2.0 D.2.5 答案:C 二、判断题 1、在C 语言中,整型数据与字符型数据在任何情况下都可以通用。() 答案:错误 2、在C 语言程序中,AHP 和 ahp 分别代表两个不同的标识符。() 答案:正确 3、在C 语言中,int、char和 short 三种类型数据在内存中所占用的字节数都是由用户自 己定义的。() 答案:错误 4、在 C 程序中一行内可以写几个语句,一个语句可以分写在多行上。因此,并不是每一条 C 语句都必须有一个分号的。() 答案:错误 5、在 C 语言程序中,happy是正确的标识符。() 答案:正确 6、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。()答案:正确 7、浮点型常量的指数表示中 ,e 是可以省略的。()答案:错误 第四章 最简单的C程序设计——顺序程序设计 一、单项选择题 1、C 语言中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同,如果格式说明的个数小于输出项的个数,多余的输出项将()。A.不予输出 B.输出空格 C.照样输出 D.输出不定值或 0 答案:A 2、为了表示关系 x>=y>=z,应使用C 语言表达式()。A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=y)&(y>=z)答案:A 3、若已定义 int a=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是()。a++<=25&&b--<=2&&c++?printf(“***a=%d,b=%d,c=%dn”,a,b,c):printf(“###a=%d,b=%d,c=%dn”,a,b,c)A.(***a=25,b=14,c=19)B.(***a=26,b=13,c=19)C.(###a=25,b=14,c=19)D.(###a=26,b=13,c=19)答案:D 4、以下程序的输出结果是()。main(){ int i=010,j=10,k=0x10;printf(“%d,%d,%dn”,i,j,k);} A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16 答案:A 5、以下程序的输出结果是()。#include 6、以下程序的输出结果是()。main(){ char c1='6',c2='0';printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);} A.因输出格式不合法,输出出错信息 B.6,0,6,102 C.6,0,7,6 D.6,0,5,7 答案:B 7、设有如下定义:int x=10,y=3,z;则语句 printf(“%dn”,z=(x%y,x/y));输出结果是()。 A.3 B.0 C.4 D.1 答案:A 8、以下程序的输出结果是()。main(){ int x=10,y=10;printf(“%d %dn”,x--,--y);} A.10 10 B.9 9 C.9 10 D.10 9 答案:D 9、下面程序的输出结果()。main(){ int x;x=-3+4*5-6;printf(“%d”,x);x=3+4%5-6;printf(“%d”,x);x=-3*4%6/5;printf(“%d”,x);x=(7+6)%5/2;printf(“%d”,x);} A.11 1 0 1 B.11-3 2 1 C.12-3 2 1 D.11 1 2 1 答案:A 10、以下程序的输出结果是()。main(){ int a=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf(“%d %d %d”,k,a,b);} A.1 0 4 B.0 0 4 C.1 0 3 D.0 0 3 答案:C 二、判断题 1、C 程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。() 答案:正确 2、程序是按书写的顺序执行的。() 答案:错误 3、如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。()答案:正确 第五章 选择结构的程序设计 一、单项选择题 1、分析以下程序: main(){ int x=5,a=0,b=0;if(x=a+b)printf(“** **n”);else printf(“## ##n”);以上程序()。 A.有语法错,不能通过编译 B.通过编译,但不能连接 C.输出** ** D.输出## ## 答案:D 2、两次运行下面的程序,如果从键盘上分别输入 6 和4,则输出结果是()。main(){ int x;scanf(“%d”,&x);if(x++>5)printf(“%d”,x);else printf(“%dn”,x--); } A.7 和 5 B.6 和 3 C.7 和4 D.6和 4 答案:A 3、在C 的 if语句中,可用作判断的表达式是()。 A.关系表达式 B.逻辑表达式 C.算术表达式 D.任意表达式 答案:D 4、假定所有变量均已正确说明,下列程序段运行后 x 的值是()。a=b=c=0;x=35;if(!a)x=-1;else if(b);if(c)x=3;else x=4;A.34 B.4 C.35 D.3 答案:B 5、若有以下变量定义: float x;int a,b;则正确的 switch 语句是()。A.switch(x){ case 1.0:printf(“*n”);case 2.0:printf(“* *n”);} B.switch(x){ case 1,2:printf(“*n”);case 3:printf(“* *n”);} C.switch(a+b){ case 1:printf(“*n”);case 2*a:printf(“* *n”);} D.switch(a+b){ case 1:printf(“*n”);case 1+2:printf(“* *n”);} 答案:D 6、在 C 语言中,多分支选择结构语句为 switch(c) { case 常量表达式 1:语句 1; „„ case 常量表达式 n-1:语句 n-1; default 语句 n;} 其中括号内表达式 c 的类型()。 A.可以是任意类型 B.只能为整型 C.可以是整型或字符型 D.可以为整型或实型 答案:C 7、当 a = 1, b = 3 , c = 5, d = 4时, 执行完下面程序段后 x的值为()if(a < b) 。if(c < d)x = 1;else if(a < c)if(b < d)x =2;else x = 3;else x = 6;else x = 7;A.1 B.2 C.3 D.6 答案:A 二、判断题 1、条件表达式不能取代一般if的语句。()答案:错误 2、在 if语句中,if子句与 else 子句都可以单独使用,构成了 if语句的两种缺省形式。()答案: 错误 3、在C语言中,逗号既可以作为运算符,也可以作为分隔符。()答案:正确 4、在 if语句中,不可以没有 else 子句。() 答案:错误 5、在switch语句中,每一个的case常量表达式的值可以相同。()答案:错误 6、在C 语言的 if语句中,用作条件判断的表达式只能是关系和逻辑表达式。() 答案:错误 7、在C 语言中 break 和 continue 都是循环中途退出语句,其中 break 语句用来跳出一层循环结构;continue 语句用来结束一次循环。() 答案:正确 第六章 循环结构程序设计 一、单项选择题 1、while 循环语句中,while 后一对圆括号中表达式的值决定了循环体是否进行,因此,进入 while 循环后,一定有能使此表达式的值变为(),否则,循环将会无限制地进行下去。 A.0 B.1 C.成立 D.2 答案:A 2、在 do-while 循环中,循环由 do 开始,用 while 结束,必须注意的是:在 while表达式后面的()不能丢,它表示 do-while 语句的结束。A.0 B.1 C.; D.,答案:C 3、for 语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。A.0 B.1 C.; D.,答案:C 4、程序段如下 int k=1;while(!k==0){k=k+1;printf(“%dn”,k);} 说法正确的是()。 A.while 循环执行 2 次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 答案:B 5、以下 for循环是()。 for(a=0,b=0;(b!=123)&&(a<=4);a++)A.无限循环 B.循环次数不定 C.执行 4次 D.执行 5 次 答案:D 6、在下列程序中,while的循环次数是()。main(){ int i=0;while(i<10){if(i<1)continue;if(i= =5)break;i++;}......} A.1 B.10 C.6 D.死循环、不能确定次数 答案:D 7、执行下面的程序后,a 的值为()。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.7 B.8 C.9 D.10 答案:B 8、以下程序的输出结果()。main(){ int x=3;do {printf(“%3d”,x-=2);}while(--x);} A.1 B.3 0 C.1-2 D.答案:A 9、以下能正确计算 1×2×3ׄ×10的程序段是()A.do {i=1;s=1;s=s*i;i++;} while(i<=10);B.do {i=1;s=0;s=s*i;i++;} while(i<=10);C.i=1;s=1;do {s=s*i;i++;} while(i<=10); 死循环。D.i=1;s=0;do {s=s*i;i++;} while(i<=10);答案:C 10、下面有关 for循环的正确描述是()。A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在 for循环中,不能用 break 语句跳出循环体 D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 答案:D 二、判断题 1、do-while循环的while后的分号可以省略。()答案:错误 2、在多层循环中, 一个break语句只向外跳一层。() 答案:正确 3、do-while循环至少要执行一次循环语句。()答案:正确 4、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而 do-while语句的循环体则可能一次也不执行。() 答案:错误 5、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。() 答案: 错误 6、C语言的三种循环不可以互相嵌套。()答案:错误 7、continue 只能用于循环体中。()答案:正确 第七章 数组 一、单项选择题 1、定义如下变量和数组: int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面执行语句的结果为()。for(i=0;i<3;i++)printf(“%3d”,x[i][2-i]);A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 9 答案:C 2、在C 语言中,引用数组元素时,其数组下标的数据类型允许是()。A.整型常量 B.整型常量或整型表达式 C.整型表达式 D.任何类型的表达式 答案:B 3、以下对一维整型数组 a的正确说明是()。 A.int a(10);B.int n;scanf(“%d”,&n);int a[n];C.int n=10,a[n];D.#define SIZE 10 int a[SIZE];答案:D 4、若有说明语句:char c= ‘64’;则变量 C 包含()。A.1 个字符 B.2 个字符 C.3 个字符 D.说明不合法,C 值不确定。答案:A 5、判断字符串a和b是否相等,应当使用()。 A.if(a= =b)B.if(a=b)C.if(strcpy(a,b))D.if(strcmp(a,b))答案:D 6、下面程序的运行结果是()。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 4 B.-4 0 4 0 3 C.-4 0 4 4 3 D.-4 0 4 4 0 答案:C 7、若有说明:int a[3][4] = {0};则下面正确的叙述是()。A.只有元素 a[0][0]可以得到初值 0 B.此说明语句不正确 C.数组 a 中每个元素均可得到初值 0 D.数组 a 每个元素均可得到初值,但值不一定为 0 答案:C 8、下面几个字符串处理表达式中能用来把字符串str2复制到字符串str1后的是()。A.strcat(str1,str2);B.strcat(str2,str1);C.strcpy(str1,str2);D.strcmp(str1,str2);答案:C 9、若有二维数组 a[m][n],则数组中 a[i][j]之前的元素的个数为()。A.j*m+i B.i*n+j C.i*m+j+1 D.i*n+j+1 答案:D 10、设有 char str[10],下列语句正确的是()。A.scanf(“%s”,&str);B.printf(“%c”,str);C.printf(“%s”,str[0]);D.printf(“%s”,str);答案:D 二、判断题 1、字符串可以用来给数组赋值,在 C 程序的执行语句中可以直接用字符串给数组名赋值。 () 答案:错误 2、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。() 答案:正确 3、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。() 答案:错误 4、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。() 答案:正确 5、C 语言中 , 字符串常量存放在字符数组中要有一个结束符 , 该结束符是0。()答案:错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数。()答案:错误 7、数组名能与其它变量名相同,数组名后是用方括号括起来的常量表达式,不能用圆括号。()答案:正确 第八章 函数 一、单项选择题 1、以下函数定义正确的是()。 A.double fun(int x, int y)B.double fun(int x;int y)C.double fun(int x, int y);D.double fun(int x , y)答案:A 2、C 语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()。A.地址传递 B.单向值传递 C.双向值传递 D.由用户指定传递方式 答案:B 3、以下关于C语言程序中函数的说法正确的是()。A.函数的定义可以嵌套,但函数的调用不可以嵌套; B.函数的定义不可以嵌套,但函数的调用可以嵌套; C.函数的定义和调用均不可以嵌套; D.函数的定义和点用都可以嵌套。答案:B 4、一个数据类型为 void 的函数中可以没有 return 语句,那么函数的被调用时()A.没有返回值 B.返回一个系统默认值 C.返回值由用户临时决定 D.返回一个不确定的值 答案:D 5、以下说法不正确的是()。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是任意类型 D.形参应与其对应的实参类型一致 答案:B 6、以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#define N 10 void arrin(int x[N]){ int i=0;while(i A.x+i B.&x[i+1] C.x+(i++)D.&x[++i] 答案:C 7、下列说法正确的是()。 A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B.一个函数的函数体必须要有执行部分,可以没有变量定义 C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D.以上都不对 答案:C。 8、若用数组名作为函数调用的实参,传递给形参的是()。A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 答案:A 9、如果在一个函数中的复合语句中定义了一个变量,则该变量()。A.只在该复合语句中有效 B.在该函数中有效 C.在本程序范围内有效 D.为非法变量 答案:A 10、有以下程序 void f(int x,int y){ int t;if(x A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 答案:C 二、判断题 1、C 程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。() 答案:错误 2、C 程序中函数不可以嵌套定义但可以嵌套调用。()答案: 正确 3、在函数内的复合语句中定义的变量在本函数范围内有效。() 答案:错误 4、C 语言规定,简单变量做实参时,与其对应的形参之间是单向的值传递。()答案: 正确 5、数组名也可作为函数参数使用,此时是地址传递。() 答案:正确 6、C 语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。() 答案:正确 7、函数形参的存储单元是动态分配的。()答案:正确 第九章 预处理命令 一、单项选择题 1、C 语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用()来提前解除宏定义的作用。 A.# ifdef B.endif C.# undefine D.# undef 答案:D 2、以下不正确的叙述是()。 A.预处理命令都必须以“#”号开始 B.在程序中凡是以“#”号开始的语句行都是预处理命令行 C.C 语言在执行过程中对预处理命令行进行处理 D.# define ABCD是正确的宏定义 答案:C 3、在文件包含预处理语句(# include)的使用形式中,当之后的文件名用“”(双引号)括起时,寻找被包含文件的方式是()。A.直接按系统设定的标准方式搜索目录 B.先在源程序所在目录搜索,再按系统设定的标准方式搜索 C.仅仅搜索源程序所在目录 D.仅仅搜索当前目录 答案:B 二、判断题 1、预处理命令的前面必须加一个“#”号。()答案:正确 2、宏替换不占用运行时间。()答案:正确 3、C语言的编译系统对宏命令的处理是在对源程序中其它语句正式编译之前进行的。()答案:正确 第十章 指针 一、单项选择题 1、变量的指针,其含义是指该变量的。 A.值 B.地址 C.名 D.一个标志 答案:B 2、设有说明 int(*ptr)[M];其中 ptr是()。A.M 个指向整型变量的指针 B.指向 M 个整型变量的函数指针 C.一个指向具有 M 个整型元素的一维数组的指针 D.具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量 答案:C 3、如下程序的执行结果是()。# include 4、若有以下定义,则对 a数组元素的正确引用是()。int a[5], *p=a;A.*&a[5] B.a+2 C.*(p+5)D.*(a+2)答案:D 5、若有定义: int a[2][3];则对 a 数组的第i行第j列(假设 i,j 已正确说明并赋值)元素值的正确引用为()。 A.*(*(a +i)+j)B.(a+i)[j] C.*(a+i+j)D.*(a +i)+j 答案:A 6、设有下面的程序段: char s[ ]=“china”;char *p;p=s;则下列叙述正确的是()。A.s 和 p 完全相同 B.数组 s 中的内容和指针变量 p 中的内容相等 C.s 数组长度和 p 所指向的字符串长度相等 D.*p与s[0]相等 答案:D 7、若有下列说明和语句:int a[4][5],(*p)[5];p = a;则对a 数组元素的正确引用是()。 A.p+1 B.*(p+3)C.*(p+1)+3 D.*(*p+2)答案:B 二、判断题 1、在定义指针型变量时指定的基类型为该指针变量所能指向的变量类型。() 答案:正确 2、指针变量,只能作为函数的形参,不可以作函数的实参。()答案:正确 3、由于指针变量存储的是地址,指针变量被定义之后可以指向任一类型的变量。() 答案:错误 第十一章 文件 一、单项选择题 1、若用 fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是()。 A.“ab+” B.“wb+” C.“rb+” D.“ab” 答案:B 2、若 fp 是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。A.EOF B.0 C.非零值 D.NULL 答案:C 3、以下叙述中不正确的是()。 A.C 语言中的文本文件以 ASCII 码形式存储数据 B.C 语言中对二进制位的访问速度比文本文件快 C.C 语言中,随机读写方式不使用于文本文件 D.C 语言中,顺序读写方式不使用于二进制文件 答案:D 二、判断题 1、文件指针用于指向文件,文件只有被打开后才有对应的文件指针。(答案:正确 2、文件指针和位置指针都是随着文件的读写操作在不断改变。() 答案:错误 3、以“r”方式打开一个文件时,文件指针指向文件首。()答案: 正确) 学前班秋季期语言试卷 (满分100分) 班别 姓名 一 把下面的字写到田字格里,每个写一行。(共30分) 虎 层 南 肚 诉 深 二 照下面的格式写拼音。(共8分) 三 给下面的字组词。(每空2分,共8分) 云()收()拦()写()肚()浅()南()画() 四 写出下列字的笔顺。(每空4分,共24分) 告 共()画 伴 共()画 丰 共()画 打 共()画 东 共()画 北 共()画 五 按课文填空。(每空4分,共20分)我问小草,小草轻轻地()我,秋天是黄色的。2 树上小猴急得叫,立刻去把()找。我们的祖国真大,(),有冬爷爷的家,十月就飘着雪花。4 火苗悄悄亲一口,噼里啪啦()爆。我是洁白的小雪花,我从高高的()轻轻地飘下。 六 连一连。(共10分) 学生考试作文常用经典语言 ·名人名言· · 科学上没有平坦的大道,真理长河中有无数礁石险滩。只有不畏攀登的采药者,只有不怕巨浪的弄潮儿,才能登上高峰采得仙草,深入水底觅得珍珠。——华罗庚 · 修养的花儿在寂静中开过了,成功的果子便要在光明里结实。——冰心 · 成功的花,人们只惊羡它现时的明艳。然而当初她的芽却浸透了奋斗的泪泉,洒满了牺牲的血雨。 ——冰心 · 墙角的花,当你孤芳自赏时,天地便小了。——冰心 · 人能走多远?这话不是要问两脚,而要问志向。人能攀多高?这事不要问双手,而要问志向。 ——汪国真 · 我要扼住命运的咽喉,它休想使我屈服。──贝多芬 · 通向荣誉的路上,并不铺满鲜花。──但丁 · 是通向成功的桥粱。海岸上如果没有礁石,就激不起美丽的浪花;人生中假如没有挫折;就无法显示 生命的壮丽。——歌德· 我想用青春的热血给自己树起一个高远的目标。不仅是为了享受一种光荣,而是为了追求一种境界。目标实现了,便是光荣;目标实现不了,人生也会因这一路风雨跋涉变得丰富而充实;在我看来,这就不虚此生。——汪国真 · 故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。——孟子 · 文王拘而演《周易》;仲尼厄而作《春秋》;屈原放逐,乃赋《离骚》;左丘失明,厥有《国语》;孙子膑脚,兵法修列;不韦迁蜀,世传《吕览》;韩非囚秦,《说难》《孤愤》;《诗》三百篇,大抵圣人发愤之所作为也。——司马迁 · 苟有恒,何必三更起五更眠;最无益,只怕一日曝十日寒。——毛泽东 · 你热爱生命吗?那么别浪费时间,因为时间是组成生命的材料。——富兰克林· 黑夜给了我黑色的眼睛,我却用它寻找光明。——顾城 · 海纳百川,有容乃大;山高万仞,无欲则刚。——俗语 · 冬天已经到来,春天还会远吗?──雪莱 · 有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 ——蒲松龄 · 如果我比笛卡尔看得远些,那是因为我站在巨人们的肩上的缘故。──牛顿 · 昨夜西风凋碧树,独上高楼,望尽天涯路。……衣带渐宽终不悔,为伊使得人憔悴。……众里寻它千百度,蓦然回首,那人正在灯火阑珊处。——王国维 · 天空没有留下一点痕迹,但我却早已飞过。——泰戈尔 ·如果你为错过了太阳而流泪,那么你也将与群星擦身而过。——泰戈尔 · 理想是石,敲出星星之火;理想是火,点燃熄灭的灯;理想是灯,照亮夜行的路;理想是路,引你走到黎明。——流沙河·追求·奋斗·砺志· · 道德是石,敲出希望之火;道德是火,点燃希望之灯;道德是灯,照亮人生之路;道德是路,引导人们走向灿烂的辉煌 · 获取是石,击出星星之火;获取是火,照亮人生之路;获取是路,引你走向成功。 · 挫折是坚韧之石,擦出希望之火;挫折是希望之火,点燃理想之灯;挫折是理想之灯,照亮前进之路;挫折是前进之路,给人积极向上的力量! · 在经受了失败和挫折后,我学会了坚韧;在遭受到误解和委屈时,我学会了宽容;在经历了失落和离 1 别后,我懂得了珍惜。 · 往事如歌,在人生的旅途中,尽管有过坎坷,有过遗憾,却没有失去青春的美丽。相信自己,希望总是有的,让我们记住那句话:错过了太阳,我不哭泣,否则,我将错过月亮和星辰。 · 宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。 · 幸福是一直盛开在追求道路上的野花,伴你左右。只要低头,你就能闻到那芳香的味道。 · 人的一生,如同四季,春种,夏耘,秋收,冬藏。 · 生活的理想就是为了理想的生活。 · 有时让你疲惫的,不是高山,而是鞋里的一粒沙子。 · 人生没有彩排,每天都是现场直播。 · 命运要自己掌握,幸福要自己争取。 · 在人生道路上,每走一步便获取一份希望。而生命,也在获取希望中前进。付出劳动,获取果实;付出贡献,获取尊重;付出汗水,获取成功。· 人生最累的时候,并不是最苦的时候,而是在刚开始起步,看不到目标的时候。 · 坚持的昨天叫立足,坚持的今天叫进取,坚持的明天叫成功。 · 只有启程,才会到达理想和目的地,只有拼搏,才会获得辉煌的成功,只有播种,才会有收获。只有追求,才会品味堂堂正正的人。 · 记取昨天,是为了把握今天,更是为了掌握明天。 · 放弃自己该做的事,就是败北。不可轻言放弃,太阳每天都升起。 · 人是一个初生的孩子,成长就是他的力量。 · 小草啊,你的脚步虽然小,但是你拥有你脚下的土地。 · 花因五彩而美丽,人因奋斗而精彩。 · 倘若你想改变你的世界,首先就应该改变你自己。 · 雄鹰,有时飞得比鸡还要低,但鸡永远不会飞得像鹰那样高。 · 只有把握现在,才能在明天驰骋风云,只有把握现在,才能充实虚幻的明天,只有把握现在,才能造就明天的辉煌! · 如果我是山,就站成一种尊严,让山花灿烂、山风拂面,让每一处角落都渗透梦的语言,让我的信念在太阳底下展现。如果我是水,就流成一种磅礴,让小船远航,鱼儿欢畅,让每一股溪流都一往无前,让我的信念随风吟唱。 ·初三生活· ·走过一段长长的路,身后早已是模糊的云烟,那些或深或浅的脚印,都是属于自己的。属于自己的努力,属于自己的胜利,属于自己的未来。 ·我还是爱着属于我的初三的。爱属于初三给与我的心旷神怡的时刻:当你冥思苦想,而终于恍然大悟的时候,你会品尝成功的喜悦;当你忙里偷闲和别人闲聊上几句家常时,你会发现生活的乐趣;当你趁着课间十分钟一瞥窗外那云卷云舒的宽容时,你会感到心灵的轻松与惬意。所以,我说——初三是一幅流光溢彩的油画,是一片充满幻想的云霞,是一个充满竞争的年华。 ·初三让我受益匪浅,她让我明白了珍惜时间才不会虚度此生的真谛,她让我懂得了珍爱人生就要去拼搏去奋斗的道理。她让我用激情吮吸着知识的甘露;豁然开朗,她让我用真诚去探寻着做人的美好。· 白驹过隙的一瞬,我抬起头,感觉到岁月正随风吹散,不禁掩面叹息,内心漾起的是一丝欣喜和怀恋。活力四射的初三岁月,青春律动的我们挥汗如雨,只为灿烂在六月。那段岁月是美妙的—— ·花开,蝉鸣,叶落,雪飘。转瞬间,三年已不知不觉地从指间溜走,竟是这样的不经意,中考已悄悄来临了。 ·时光匆匆,人的生命在浩瀚的历史长河中只不过是一个毫不起眼的一瞬,但这白驹过隙的弹指一瞬,又经过了多少花开花落、斗转星移呀? ·初三是支歌,一支如水的歌,水样的清灵,水样的叮咚,流过心坎,久久难忘。 ·歌词· · 每一次都在徘徊孤单中坚强,每一次就算很受伤也不闪泪光,我知道我一直有双隐形的翅膀带我飞,飞过绝望。……我终于看到所有梦想都开花,追逐的年轻歌声多嘹亮,我终于翱翔……让梦恒久比天长,留一个愿望让自己想象。——隐形的翅膀 · 天地虽宽这条路却难走,我看遍这人间坎坷辛苦。我还有多少爱,我还有多少泪,要苍天知道我不认输感恩的心,感谢命运,花开花落我一样会珍惜。——感恩的心 心若在,梦就在,天地之间还有真爱,看成败,人生豪迈,只不过是从头再来。——从头再来 他说风雨中这点痛算什么,擦干泪,不要怕,至少我们还有梦。——水手 我的未来不是梦,我认真地过每一分钟,我的心跟着希望在动。——我的未来不是梦 把握生命里的每一分钟,全力以赴我们心中的梦,不经历风雨,怎么见彩虹,没有人能随随便便成功。 ——真心英雄 阳光总在风雨后,乌云上有晴空,珍惜所有的感动,每一份希望在你手中,阳光总在风雨后,请相信有彩虹,风风雨雨都接受,我一直会在你的左右。——阳光总在风雨后 一切美好只是昨日沉醉,淡淡苦涩才是今天滋味,想想明天又是日晒风吹,再苦再累无惧无畏;身上的痛让我难以入睡,脚下的路,还有更多的累,追逐梦想总是百转千回,无怨无悔,从容面对。 ——铿锵玫瑰 千里难寻是朋友,朋友多了路好走,以诚相见,心诚则灵,让我们永远是朋友。——朋友 一年一年,风霜遮盖了笑颜,是不是春花秋月无情,春去秋来爱已无声。把爱全给了我,把世界给了我,从此不知你心中苦与乐。多想靠近你,告诉你我其实一直都懂你。——懂你 噢,妈妈,烛光里的妈妈,您的腰身变得不再挺拔,噢,妈妈,烛光里的妈妈,您的眼睛为何失去了光华。妈妈,女儿已长大,不愿牵着你的衣襟,走过春秋冬夏。——烛光里的妈妈·明天你是否会想起,昨天你写的日记。明天你是否还惦记,曾经最爱哭的你。那时候天总是很蓝,日子总过得太慢。你总说毕业遥遥无期,转眼就各奔东西。——同桌的你 ·小时候我以为你很神秘,所有的难题成了乐趣。小时候我以为你很有力,你总喜欢把我们高高举起。长大后我就成了你,才知道那支粉笔画出的是彩虹洒下的是泪滴。才知道那个讲台举起的是别人奉献的是自己。——长大后我就成了你 ·接受我的关怀/期待你的笑容/人字的结构就是相互支持/走进我的视野/从此不再陌生/人类的面孔就是爱的表情/告诉你一个发现/你和我都会感动/世界很小/是个家庭。——世界很小,是个家庭 一 A+B Problem Time Limit:1000MS Memory Limit:65536K Total Submit:2153 Accepted:1096 Description Calculate a+b Input Two integer a,b(0<=a,b<=10) Output Output a+b Sample Input 2 Sample Output Hint Here is a sample solution for problem using C/GCC: #include int main(){ int a,b; scanf(“%d %d”,&a, &b);printf(“%dn”,a+b);return 0;} #include int main(){ int a,b; scanf(“%d %d”,&a, &b);printf(“%dn”,a+b);return 0;} 二 第三届程序设计大赛 让气球飞起来 Time Limit:1000MS Memory Limit:65536K Total Submit:325 Accepted:103 Description 比赛又一次开始了,看着气球漂浮在周边是多么兴奋的事情啊,但是告诉你一个秘密,裁判最喜欢做的事情就是猜一个问题,即数目最多的气球颜色。当比赛结束时,他们会数每种颜色的气球数目并公布结果。今年,他们决定将数气球的事情交给你做。 Input 测试数据第一行是一个N(0 < N <= 100),表示放飞的气球总数;紧接着的N行中每行表示一种气球颜色。每种气球颜色是由不多于15个小写字母组成。 Output 对于每组测试数据,对应一行输出颜色最多的气球颜色,测试数据能保证对应的结果唯一。Sample Input green red blue red red Sample Output red Source #include第二篇:C语言考试
第三篇:学前班语言考试试卷
第四篇:学生考试作文常用经典语言
第五篇:C语言考试平台