《C语言程序设计》期末复习题
- 格式:doc
- 大小:141.00 KB
- 文档页数:18
C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。
1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。
B. C语言标准库中包含了很多有用的函数和变量。
C. C语言标准库的函数和变量的声明保存在头文件中。
D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。
2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。
1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。
以下是程序的运行示例:```1至100之间的所有偶数的和为2550。
```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。
以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。
期末试卷一一、单项选择题(每题1分,共45分)1.在计算机系统中,可以执行的程序是()A.源程序B.汇编语言程序C.机器语言程序D.ASCII码2.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.下列对C语言程序的书写格式的描述,()是正确的。
A.C语言程序中,每行只能写一条语句B.C语言程序书写时通常采用“缩排”方式C.C语言程序的书写中要求每行都要以分号作结尾D.注释行必须放在程序的头或程序的尾4.启动TC V2.0环境后,打开一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.C语言源程序文件file.c经系统编译、连接后,生成的文件名为()A.file.c B.file C.file.obj D.file.exe6.下列选项中,合法的C语言标识符是()A._abc*2 B._ch_er C.a-1 D.a7&b7.以下所列的C语言常量中,错误的是()A.0xFF B.1.2e0.5 C.2L D.’\72’8.以下变量x,y,t均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是()A.x/y*z B.x*(1/(y*z))C.x/y*1/z D.x/y/z9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f",&x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()#include<stdio.h>main( ){ float a,b;scanf("%f%f",&a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio.h>main( ){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()#include<stdio.h>main( ){ int a=2,b=5;printf("a=%%d,b=%%d\n",a,b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0,则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10]; 则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-10]32.下面程序的运行结果是()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 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.在C语言程序中,当调用函数时,下面说法正确的是()A.实参和形参各占一个独立的存储单元B.实参和形参可以共用存储单元C.可以由用户指定实参和形参是否共用存储单元D.前面都不正确38.下列变量中,哪类变量的生存期和作用域是不一致的()A.自动变量B.定义在文件最前面的外部变量C.静态内部变量D.寄存器变量39.C语言中形参的缺省存储类别是()。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。
以下是考试题目及参考答案。
一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
C程序设计期末复习题一、填空题1. C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)。
2. 一个C程序有且只有一个(主函数)。
main()3. 结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)。
4. 设int x=9,y=8;表达式x==y+1的结果是(1).5. 定义int x,y;执行y=(x=1,++x,x+2);语句后,y的值是(4)。
6. 以下程序运行的结果是(end)。
# include <stdio.h>main( ){int a,b,c;a=2;b=3;c=1;if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",b);printf("end\n");}7. 以下程序运行的结果是(d=20)。
# include<stdio.h>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”,d);}8. 以下程序(当输入值为2,1时)运行的结果是(s=2,t=3)。
# include<stdio.h>main( ){int s,t,a,b;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0) s=s+1;//s=2if(a>b) t=s+1;//t=3else if (a==b) t=5;else t=2*s;printf("s=%d,t=%d\n",s,t);}9. 以下程序运行的结果是(s=7)。
# include<stdio.h>main( ){int s=0,k;for (k=7;k>=0;k--){switch(k){case 1:case 4:case 7:s++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;} }printf("s=%d\n",s); }10. C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是( .obj ),经过链接后生成的文件的后缀是( .exe )。
c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。
大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。
()2、在标准C中,整型变量与字符变量是可以通用的。
()3、在标准C中,“=”是判断两个数是否相等。
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
《C语言程序设计》期末复习题一、选择题1.能将高级语言编写的源程序转换成目标程序的是()A.链接程序 B. 解释程序 C. 编译程序 D.编辑程序2.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。
A. 10<a<15B. a==11||a==12||a==13||a==14C. a>10&&a<15D.!(a<=10)&&!(a>=15)3.当调用函数时,实参是一个数组名,则向函数传送的是( )。
A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值4.执行下面的程序段后,k的值是()int k=1,n=325;do { k*=n%10;n/=10;}while(n);A. 3B. 30C. 523D. 3255.若有以下数组说明,则i=6;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.3B.8C.6D.56.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()A. for(i=1,p=1;i<=5;i++) p*=i;B. for(i=1;i<=5;i++){ p=1; p*=i;}C. i=1;p=1;while(i<=5){p*=i; i++;}D. i=1;p=1;do{p*=i; i++; }while(i<=5);7.若有:int a[][3]={{1,2,3},{4,5},{6,7},{8}}; 则数组a的第一维的大小为: ( ) A. 12 B. 3 C. 4 D.无确定值8.设有如下程序段,则执行p=s;语句后,以下叙述正确的是( )。
char s[20]= “Bejing”,*p;p=s;A.可以用*p表示s[0]B.s数组中元素的个数和p所指字符串长度相等C.s和p都是指针变量D.数组s中的内容和指针变量p中的内容相等9.以下正确的函数定义是( )。
A.double sum(int x, int y) B.double sum (int x,y){ z=x+y ; return z ; } { int z ; return z ;}C.sum (x,y) D.double sum (int x, int y){ int x, y ; double z ; { double z ;z=x+y ; return z ; } z=x+y ; return z ; }10.已知学生信息描述为struct student{int no;char name[20];char sex;struct{int year; int month; int day; }birth;};struct student s;设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是()。
A. year=1984;month=11;day=11;B. birth.year=1984;birth.month=11;birth.day=11;C. s.year=1984;s.month=11;s.day=11;D. s.birth.year=1984;s.birth.month=11;s.birth.day=11;11. 下列数据中,为字符串常量的是()。
A. ′A′B. How do you do.C. "A"D.$abc12.以下运算符中,优先级最高的运算符是()。
A. ||B. %C. !D.==13.执行以下程序段后,输出结果和a的值是()。
int a=10;printf("%d",++a);A.10和10B.10和11C.11和10D.11和1114. 有定义语句:int x,y;若要通过scanf("%d%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是()。
A. 11 12<回车>B. 11,<空格>12<回车>C. 11,12<回车>D. 11,<回车> 12<回车>15. 下列定义数组的语句中,正确的是( )。
A. int x[0..10];B. int x[ ];C. #define N 10D. int N=10;int x[N]; int x[N];16. 若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()。
A. int p=&x;B.int *p=x;C. *p=*x;D. int *p=&x;17. 以下不是无限循环的语句为()。
A. for(y=0,x=1;x>++y;x=i++) i=x;B. for(;;x++=i);C. while(1){x++;}D. for(i=10;;i--) sum+=i;18. 有以下函数,函数的功能是( )。
int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0' ) {x++; y++; n++;}return n ;}A.将y所指字符串赋给x所指存储空间B.查找x和y所指字符串中是否有'\0'C.统计x和y所指字符串中最前面连续相同的字符个数D.统计x和y所指字符串中相同的字符个数19. 语言中,定义结构体的保留字是()。
A.unionB.structC.enumD.typedef20. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A.openB.fopenC.closeD.fclose21. 在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。
A.只能用逻辑表达式B.只能用关系表达式C.只能用逻辑表达式或关系表达式D.可用任意表达式22. 假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是()。
A.7B.8C.9D.223. 若有如下代码,则a的值为()。
int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;A.1B.2C.3D.不一定24.假定所有变量均已正确定义,下列程序段运行后x的值是()。
k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A.14B.4C.15D.325. 以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。
A.是无限循环B.循环次数不定C.4次D.3次26. 以下运算符中,优先级最高的运算符是()。
A. ||B. %C. !D.==27. 有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是()。
A. 11 12<回车>B. 11,<空格>12<回车>C. 11,12<回车>D. 11,<回车> 12<回车>28. char a[10];不能将字符串"abc"存储在数组中的是()。
A.strcpy(a,"abc");B.a[0]=0;strcat(a,"abc");C.a="abc";D.int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;29. 以下程序段 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);的输出结果是()。
A.AB.BC.DD.DEF30. 若执行fopen函数时发生错误,则函数的返回值是()。
A.地址值B.0C.1D.EOF二、读程序,写出程序的运行结果1.以下程序的输出结果是()。
#include <stdio.h>void main(){ int x=0,y=1,a=0,b=0;switch(x){case 0:switch(y){case 0: a++;case 1: b++;}case 1:switch(y){case 0: a=a+5;case 1: b=b+5;}}printf(“a=%d,b=%d\n”,a,b);}2.以下程序的输出结果是()#include <stdio.h>void main(){ int x=-5,y=2,z=1;if(x<y)if(y<0) z=0;else z=z+1;printf(“%d\n”,z);}3.以下程序的输出结果是:()#include"stdio.h"void main( ){int j,k, x[4][4],y[4][4];for(j=0;j<4;j++)for(k=0;k<4;k++)x[j][k]=j+k;for(j=0;j<4;j++)for(k=0;k<4;k++)y[k][j]=x[j][k];for(j=0;j<4;j++){ for(k=0;k<4;k++)printf("%d ",y[j][k]);printf("\n");}}4.以下程序的输出结果是:()#include <stdio.h>void main(){ int i,j;for(i=j=1;j<10;j++,i++){if(j==5)break;if(i%2)continue;printf("i=%d,j=%d\n",i,j);}}5.若有以下程序段,则输出结果是( )。
#include <stdio.h>void main(){char s2[]="\"c:\\abc.dat\"";printf(“%s\n”,s2); }6.以下程序的输出结果是:()#include <stdio.h>int fun( int n){ int s;if(n==1||n==0) s=5;else s=n+fun(n-1);return s;}void main(){printf("%ld\n", fun(3));}7.以下程序的输出结果是:()void main(){ int a[]={2,4,6,8,10};int y=120,x,*p;p=&a[1];for(x=0;x<3;x++) y+=*(p+x);printf("y=%d\n",y);}8.以下程序的输出结果是:()#include<stdio.h>void sub(int s[],int y){static int t=3;y=s[t];t--;}void main(){int a[]={1,2,3,4},i,x=0;for(i=0; i<4; i++){sub(a,x);printf(“%d”,x);}printf(“\n”);}9. 以下程序段运行后x的值是:()k1=1;k2=0;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;10. 以下程序的输出结果是:()#include <stdio.h>main(){ int s=0, n;for (n=0; n<4; n++){ switch(n){ default: s+=5;case 1: s+=1;case 2: s+=2;case 3: s+=3;}}printf("%d\n", s);}11. 以下程序段运行后sum的值是:()int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[i][2-i];12. 以下程序的输出结果是:()#include <stdio.h>int main(){int i=10,n=0,m=0;do{if(i%2!=0)n=n+i;elsem=m+i;i--;}while(i>=0);printf("n=%d,m=%d\n",n,m);return 0;}13. 以下程序的输出结果是:()#include <stdio.h>void main(){int a,b;for(a=1,b=1;a<=100;a++){if(b>20) break;if(b%4==1){b=b+4;continue;}b=b-5;}printf("b=%d\n",b);}14. 以下程序的输出结果是:()#include <stdio.h>funa(int a){ int b=0;static int c=4;a=c++,b++;return(a);}main(){ int a=2,i,k;for(i=0;i<2;i++)k=funa(a++);printf("%d\n",k);}15. 以下程序的输出结果是:()#include <stdio.h>void main(void){char a[]="ABCDEFGH",b[]="abcDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if (*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");16. 以下程序的输出结果是:()#include <stdio.h>#include <string.h>int main(){int i;char str1[30]="abc",str2[3][5]={"defg","hij\0","klm"};for(i=1;i<3;i++)strcat(str1,str2[i]);puts(str1);return 0;}17. 以下程序的输出结果是:()void main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%.4f\n",x);}18. 以下程序段的输出结果是:()int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;printf("%d\n",a);19. 以下程序的输出结果是:()int func(int x,int y){ return(x+y);}void main()int a=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e))); }20.下列程序执行后的输出结果是()。