大学计算机C语言期末考试(C语言考试系统)
更新时间:2024-03-19 21:45:01 阅读量: 综合文库 文档下载
一 填空题
1. 已知a=13,b=6, a^b的十进制数值为【1】
2. 如果函数不要求带回值,可用【1】来定义函数返回值为空.
3. 当a=3,b=2,c=1;时,执行以下程序段后 b=【1】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 答:1
4. c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 答:循环结构
5. C程序在执行过程中,不检查数组下标是否【1】.
6. 若有定义:int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】. 7. C语言中调用【1】函数来关闭文件.
8. 在c程序中,只能给指针赋NULL值和【1】值. 9. 表达式 i++ 相当于表达式i=【1】.
10.若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为的值为【2】. 二 判断题
1. #define 和printf 都不是C语句。
2. 在Turbo C中,整型数据在内存中占2个字节。
3. 语句scanf(\是一个合法的scanf函数。
4. 如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。
5. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 6. 如果有一个字符串,其中第十个字符为'\\n',则此字符串的 有效字符为9个。
7. 结构体类型只有一种。
8. 在C 语言中,此定义和语句是合法的: enum aa{ a=5,b,c}bb;bb=(enum aa)5; 9. 7&3+12的值是15。
10. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 三 单选题
1. 以下程序段的输出结果为()。 char c[]=\int do ;while(c[i++]!='\\0');printf(\
(A)abc
(B)ab (C)2 (D)3
2. 以下叙述正确的是()。
(A)在C程序中,main函数必须位于程序的最前面
(B)C程序的每行中只能写一条语句
1】,n i=0; 【
(C)C语言本身没有输入输出语句
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 答:C
解析:C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C
标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(.obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数
3.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。
(A)一个整数,代表要读入的数据项总数
(B)一个文件指针,指向要读的文件
(C)一个指针,指向要读入数据的存放地址
(D)一个存储区,存放要读的数据项
4. 以下标识符中,不能作为合法的C用户定义标识符的是()。
(A)answer
(B)to
(C)signed
(D)_if
5. 下面判断正确的是()。
(A)char *a=\等价于 char *a;*a=\
(B)char str[10]={\等价于char str[10];str[]={\
(C)char *s=\等价于 char *s;s=\
(D)char c[4]=\等价于 char c[4]=d[4]=\6. 若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存 空间存入整数123的语句为()。
(A)scanf(\
(B)scanf(\
(C)scanf(\
(D)scanf(\
7. 以下语句中,不能实现回车换行的是()。
(A)printf(\
(B)putchar(\
(C)fprintf(stdout,\
(D)fwrite(\
8. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为()。 (A)1 (B)2 (C)3
(D)不一定
9. 下列程序段的输出结果为()。
float x=213.82631; printf(\
(A)213.82
(B)213.83
(C)213
(D)3.8
10. enum a {sum=9,mon=-1,tue}; 定义了()。
(A)枚举变量
(B)3个标识符
(C)枚举数据类型
(D)整数9和-1 一 判断题
1. 设x=5>1+2,x的值 为【1】.
2.数组在内存中占一段连续的存储区,由【1】代表它的首地址. 3.int x=2;z=x++-1; 则x的值为【1】.
4.已知 i=5,写出语句 i*=i+1; 执行后整型变量 i 的值是【1】. 5. 已知a=13,b=6, a&b的十进制数值为【1】. 6. 表达式 i++ 相当于表达式i=【1】.
7. 设有以下定义的语句: int a[3][2]={10,20,30,40,50,60}, (*p)[2]; *(*(p+2)+1)值为【1】.
8. 当a=1,b=2,c=3时,执行以下程序段后a=【1】. if (a>c) b=a; a=c; c=b; 9. 下面程序段的输出结果是【1】. int a=12;a=a&052;printf(\
10. int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是【1】. 二 判断题
1. C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。
2. 若有说明int c;则while(c=getchar());是正确的C语句。 3.用fopen(\打开的文件\可以进行修改。 4. 共同体变量所占的内存长度等于最长的成员的长度。 5. x*=y+8 等价于 x=x*(y+8)。
6. 关系运算符<= 与 == 的优先级相同。 7. 表达式 (j=3, j++) 的值是4.
8. 若有int ⅰ=10, j=0;则执行完语句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。
9. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 10. 如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10}; 三 单选题
1. 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
(A)fprintf函数
(B)fread函数
(C)fwrite函数
(D)fputc函数
2. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。
(A)p=1;
(B)*q=2;
p=a; 则
(C)q=p;
(D)*p=5;
3. 执行下列语句后的结果为()。 int x=3,y; int *px=&x; y=*px++;
(A)x=3,y=4
(B)x=3,y=3
(C)x=4,y=4
(D)x=3,y不知
4.以下数组定义中不正确的是()。
(A)int a[2][3];
(B)int b[][3]={0,1,2,3};
(C)int c[100][100]={0};
(D)int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 5. 设j和k都是int类型,则for循环语句
for(j=0,k=-1;k=1;j++,k++) printf(\()。
(A)循环结束的条件不合法
(B)是无限循环
(C)循环体一次也不执行
(D)循环体只执行一次
6. 在位运算中,操作数每右移一位,其结果相当于()。
(A)操作数乘以2
(B)操作数除以2
(C)操作数乘以16
(D)操作数除以16
7.以下对C语言函数的描述中,正确的是()。
(A)C程序必须由一个或一个以上的函数组成
(B)C函数既可以嵌套定义又可以递归调用
(C)函数必须有返回值,否则不能使用函数
(D)C程序中有调用关系的所有函数必须放在同一个程序文件中 8.char h,*s=&h;可将字符H通过指针存入变量h中的语句是()。
(A)*s=H;
(B)*s='H';
(C)s=H;
(D)s='H'
9. 以下叙述正确的是()。
(A)在C程序中,main函数必须位于程序的最前面
(B)C程序的每行中只能写一条语句
(C)C语言本身没有输入输出语句
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 10. 若要说明一个类型名STP,使得定义语句STP s等价于char *s, 以下选项中正确的是()。
(A)typedef STP char *s;
(B)typedef *char STP;
(C)typedef stp *char;
(D)typedef char* STP; 一 填空题
1. C语言中,【1】是程序的基本组成部分.
2. 以下程序的输出结果为【1】, #include \main(){int a;for(a=0;a<10;a++);printf(\3. 表达式 i++ 相当于表达式i=【1】.
4. 一个C源程序中至少应包括一个【1】函数. 5. 表达式18 && 53 的值是【1】.
6. 若输入字符串:abcde<回车>,则以下while循环体将执行 【1】 次. While((ch=getchar())=='e') printf(\
7. int x; x=(3+4)%5-6, 则x的值为【1】.
8. 当a=3,b=2,c=1;时,执行以下程序段后 a=【1】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
9. 在c程序中,只能给指针赋NULL值和【1】值.
10. 设c语言中,int类型数据占2个字节,则long类型数据占【1】个字节, short类型数据占【2】个字节. 二 判断题
1. char *p=\的含义是定义字符型指针变量p,p的值是字符串\。 2. 设有数组定义: char array [ ]=\则数组 array所占的空间为5. 3. 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。
4. 在Turbo C中,下面的定义和语句是合法的: file *fp;fp=fopen(\5. 若有定义和语句:
int a;char c;float f;scanf(\若通过键盘输入:
10,A,12.5,则a=10,c='A',f=12.5.
6. int i=20;switch(i/10){case 2:printf(\case 1:printf(\的输出结果为A。 7. #define 和printf 都不是C语句。 8. int i,*p=&i;是正确的C说明。
9. 一个include 命令可以指定多个被包含的文件。 10. 关系运算符<= 与 == 的优先级相同。 三 单选题
1. 以下能对一维数组a进行正确初始化的语句是()。
(A)int a[10]=(0,0,0,0,0)
(B)int a[10]={};
(C)int a[]={0};
(D)int a[10]={10*1};
2. 若二维数组a有m列,则在a[i][j]前的元素个数为()。
(A)j*m+i
(B)i*m+j
(C)i*m+j-1
(D)i*m+j+1
3. 如果int a=2,b=3,c=0,下列描述正确的是
(A)a>b!=c和a>(b!=c)的执行顺序是一样的
(B)!a!=(b!=c)表达式的值为1
(C)a||(b=c)执行后b的值为0
(D)a&&b>c的结果为假
4. 以下数据中,不正确的数值或字符常量是()。 (A)c
(B)66
(C)0xaa
(D)50
5. 先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是(A)。
(A)c='a';
(B)c=\
(C)c=\
(D)C='97'
6. 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp) 的返回值是()。
(A)EOF (B)0
(C)非零值
(D)NULL
7. char a1[]=\将a1串连接到a2串后面的语句是()。
(A)strcat(a2,a1);
(B)strcpy(a2,a1);
(C)strcat(a1,a2);
(D)strcpy(a1,a2);
8.以下能对二维数组a进行正确初始化的语句是()。
(A)int a[2][]={{1,0,1},{5,2,3}};
(B)int a[][3]={{1,2,3},{4,5,6}};
(C)int a[2][4]={{1,2,3},{4,5},{6}};
(D)int a[][3]={{1,0,1}{},{1,1}};
9.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用 八进制表示的字符常量'\\101'是()。
(A)字符A
(B)字符a
(C)字符e
(D)非法的常量
10. 下列程序运行结果为: #define P 3
#define S(a) P*a*a main() {int ar; ar=S(3+5);
printf(\ }
(A)192
(B)29
(C)27
(D)25
一 填空题
1. 下列语句输出的结果是【1】,unsigned int b=65535;printf(\2. 已知a=13,b=6, a^b的十进制数值为【1】.
3. 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 4. 设x=72,表达式x=(x>=60)的值为【1】.
5. 下面程序段的输出结果是【1】. int a=12;a=a&052;printf(\6. c语言表达式5>2>7>8的值是【1】.
7. 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】.
8.若所用变量均已正确定义,则执行下面程序段后的 值是【1】. for(i=0 ; i<2 ; i++ ) printf(\
9. int x=2;z=x++-1; 则z的值为【1】.
10. 变量的本质是代表内存中的一个存储单元的【1】。 二 判断题
1. 参加位运算的数据可以是任何类型的数据。 2.typedef可以定义生成新的数据类型. 3. 若有定义和语句:
int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.
4. C程序中有调用关系的所有函数必须放在同一个源程序文件中。 5. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 6. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 7. a=(b=4)+(c=6) 是一个合法的赋值表达式。
8. 如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。
9. char c[]=\是一个合法的为字符串数组赋值的语句。 10.假设有int a[10], *p;则p=&a[0]与p=a等价 三 单选题
1. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表 示的字符常量'\\101'是______。
(A)字符A
(B)字符a
(C)字符e
(D)非法的常量
2. 以下运算符中,优先级最高的运算符是()。
(A)|| (B)% (C)!
(D)==
3. 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是()。
(A)\
(B)\
(C)\
(D)\
4. while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是()。
(A)t>=1e-5&&t<=-1e-5&&s>-10&&s<10
(B)fabs(t)<1e-5&&!s/10
(C)fabs(t)<1e-5
(D)s/10==0
5. 若二维数组a有m列,则在a[i][j]前的元素个数为()。
(A)j*m+i
(B)i*m+j
(C)i*m+j-1
(D)i*m+j+1
6. 若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
(A)a:=b+1
(B)a=b=c+2
(C)int 18.5%3
(D)a=a+7=c+b
7.C语言程序中,当调用函数时()。
(A)实参和虚参各占一个独立的存储单元
(B)实参和虚参可以共用存储单元
(C)可以由用户指定是否共用存储单元
(D)计算机系统自动确定是否共用存储单元 8. fseek函数的正确调用形式是()。
(A)fseek(文件类型指针,起始点,位移量)
(B)fseek(fp,位移量,起始点)
(C)fseek(位移量,起始点,fp)
(D)fseek(起始点,位移量,文件类型指针)
9. 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
(A)fprintf函数
(B)fread函数
(C)fwrite函数
(D)fputc函数
10. C语言中,文件由()。
(A)记录组成
(B)由数据行组成
(C)由数据块组成
(D)由字符(字节)序列组成
选择题
1.在C语言程序中()。
(A)函数的定义可以嵌套,但函数的调用不可以嵌套
(B)函数的定义不可以嵌套,但函数的调用可以嵌套
(C)函数的定义和函数调用均可以嵌套
(D)函数的定义和函数调用不可以嵌套
2.在C语言中,要求运算数必须是整型的运算符是()。 (A)^ (B)% (C)! (D)>
3.下面说明不正确的是()。
(A)char a[10]=\
(B)char a[10],*p=a;p=\
(C)char *a;a=\
(D)char a[10],*p;p=a=\
4.C语言程序中必须有的函数是()。
(A)#include \
(B)main
(C)printf (D)scanf
5.设有 int x=11; 则表达式 (x++ * 1/3) 的值是()。 (A)3 (B)4
(C)11
(D)12
6.下面叙述中错误的是
(A)函数的形式参数,在函数未被调用时就不被分配存储空间
(B)若函数的定义出现在主调函数之前,则可以不必再加说明
(C)若一个函数没有return语句,则什么值也不会返回
(D)一般来说,函数的形参和实参的类型要一致
7.已知year为整型变量,不能使表达式(year%4==0&&year0!=0) ||year@0==0的值为“真”的数据是()。
(A)1990
(B)1992
(C)1996
(D)2000
8.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer
代表的是()。
(A)一个整数,代表要读入的数据项总数
(B)一个文件指针,指向要读的文件
(C)一个指针,指向要读入数据的存放地址
(D)一个存储区,存放要读的数据项
9.以下叙述中正确的是 ()。
(A)C程序中注释部分可以出现在程序中任意合适的地方
(B)花括号“{“和”}”只能作为函数体的定界符
(C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
(D)分号是C语句之间的分隔符,不是语句的一部分
10.若有 char s1[]=\则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是()。
(A)if(strcmp(s1,s1)>0)puts(s2);
(B)if(strcmp(s2,s1)>0)puts(s2);
(C)if(strcmp(s2,t)>0)puts(s2);
(D)if(strcmp(s1,t)>0)puts(s2); 填空
1.复制字符串的库函数是【1】,只写函数名即可.
2.表达式18 && 53 的值是【1】.
3.若有定义:char c='\\010'; 则变量C中包含的字符个数为【1】.
4.下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf(\5.C语言把文件看作是一个【1】的序列.
6.若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最大的元素的值是【1】.
7.若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 8.复制字符串的库函数是【1】,只写函数名即可.
9.若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最小的元素名字是【1】.
10.程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 判断
1.进行宏定义时,宏名必须使用大写字母表示。 2.若有int ⅰ=10, j=0;则执行完语句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。
3.共同体变量所占的内存长度等于最长的成员的长度。 4.循环结构中的continue语句是使整个循环终止执行 5.函数strlen(\的值是7。 6.关系运算符<= 与 == 的优先级相同。
7.如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。
8.若有说明int c;则while(c=getchar());是正确的C语句。
9.一个include 命令可以指定多个被包含的文件。
10.char *p=\的含义是定义字符型指针变量p,p的值是字符串\
判断
1.参加位运算的数据可以是任何类型的数据。 2.typedef可以定义生成新的数据类型. 3.若有定义和语句:
int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0; for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21.
4.C程序中有调用关系的所有函数必须放在同一个源程序文件中。 5.若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 6.若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 7.a=(b=4)+(c=6) 是一个合法的赋值表达式。
8.如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。
9.char c[]=\是一个合法的为字符串数组赋值的语句。 10.假设有int a[10], *p;则p=&a[0]与p=a等价 单选
1.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表 示的字符常量'\\101'是______。
(A)字符A
(B)字符a
(C)字符e
(D)非法的常量
2.以下运算符中,优先级最高的运算符是()。
(A)|| (B)% (C)! (D)==
3.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写, 则文件方式字符串应是()。
(A)\
(B)\
(C)\
(D)\
4.while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是()。
(A)t>=1e-5&&t<=-1e-5&&s>-10&&s<10
(B)fabs(t)<1e-5&&!s/10
(C)fabs(t)<1e-5
(D)s/10==0
5.若二维数组a有m列,则在a[i][j]前的元素个数为()。
(A)j*m+i
(B)i*m+j
(C)i*m+j-1
(D)i*m+j+1
6.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
(A)a:=b+1
(B)a=b=c+2
(C)int 18.5%3
(D)a=a+7=c+b
7.C语言程序中,当调用函数时()。
(A)实参和虚参各占一个独立的存储单元
(B)实参和虚参可以共用存储单元
(C)可以由用户指定是否共用存储单元
(D)计算机系统自动确定是否共用存储单元 8.fseek函数的正确调用形式是()。
(A)fseek(文件类型指针,起始点,位移量)
(B)fseek(fp,位移量,起始点)
(C)fseek(位移量,起始点,fp)
(D)fseek(起始点,位移量,文件类型指针)
9.在C程序中,可把整型数以二进制形式存放到文件中的函数是()。
(A)fprintf函数
(B)fread函数
(C)fwrite函数
(D)fputc函数
10.C语言中,文件由()。
(A)记录组成
(B)由数据行组成
(C)由数据块组成
(D)由字符(字节)序列组成 填空
1.下列语句输出的结果是【1】,unsigned int b=65535;printf(\2.已知a=13,b=6, a^b的十进制数值为【1】.
3.程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 4.设x=72,表达式x=(x>=60)的值为【1】.
5.下面程序段的输出结果是【1】. int a=12;a=a&052;printf(\6.c语言表达式5>2>7>8的值是【1】.
7.设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】.
8.若所用变量均已正确定义,则执行下面程序段后的 值是【1】. for(i=0 ; i<2 ; i++ ) printf(\
9.int x=2;z=x++-1; 则z的值为【1】.
10变量的本质是代表内存中的一个存储单元的【1】。
一.填空
1.下列语句输出的结果是【1】,unsigned int b=65535;printf(\
2.以下do-while语句中循环体的执行次数是【1】. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0);
3.int x; x=-3+4%5-6, 则x的值为【1】.
4.若a是int型变量,且a的初值为6,则计算表达式 a+=a-=a*a 后a的值为【1】.
5.当a=3,b=2,c=1;时,执行以下程序段后 b=【1】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
6.若有定义:char s[ ]=\则Turbo C系统为数组s开辟【1】个字节的内存单元.
7.C语言源程序的基本单位是【1】.
8.调用 fopen 函数打开一文本文件,在\使用方式\这一项中, 为输入而打开需填入【1】.
9.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p;
10.int x=2,y=3,z=4; 则表达式!x+y>z的值为【1】.
二.判断
1若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义, 所以此宏定义是错误的。
2. 函数strlen(\的值是7。
3. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
4. 参加位运算的数据可以是任何类型的数据。
5. 字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.
6. 若i =3,则printf(\输出的值为 -4。
7. 语句 printf(\输出为 0.333333。
8. 若 a=3,b=2,c=1 则关系表达式\的值为\真\。
9. 用fopen(\打开的文件\可以进行修改。
10. C程序中有调用关系的所有函数必须放在同一个源程序文件中。
三.单选
1. 以下运算符中,优先级最高的运算符是()。
(A)|| (B)% (C)!
(D)==
2.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作, 下面符合此要求的函数调用是()。
(A)fopen(\
(B)fopen(\
(C)fopen(\
(D)fopen(\.
3. 以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。
(A)是无限循环
(B)循环次数不定
(C)4次
(D)3次
4. 设有说明int (*ptr)[M];其中标识符ptr是()。
(A)M个指向整型变量的指针
(B)指向M个整型变量的函数指针
(C)一个指向具有M个整型元素的一维数组的指针
(D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量
5. fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
(A)字符串读入后不会自动加入'\\0'
(B)fp是file类型的指针
(C)fgets函数将从文件中最多读入n-1个字符
(D)fgets函数将从文件中最多读入n个字符
6. 若有说明: int a[][4]={0,0};则下面不正确的叙述是()。
(A)数组a的每个元素都可得到初值0
(B)二维数组a的第一维大小为1
(C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1
(D)有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
7. 已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是()。
(A)p=&j,p=p1;
(B)p=a;
(C)p=&a[j];
(A)8.9e1.2
(B)10
(C)0xff00
(D)82.5
7. 以下不正确的if语句形式是()。
(A)if(x>y&&x!=y);
(B)if(x==y) x+=y;
(C)if(x!=y) scanf(\
(D)if(x 8. 若k,g均为int型变量,则下列语句的输出为()。 k=017; g=111; printf(\ (A)15 6f (B)16 70 (C)15 71 (D)16 6f 9. 若有char a[80],*s=a;不正确的输入语句是()。 (A)scanf(\ (B)gets(s); (C)fscanf(stdin,\ (D)fgets(s,80,stdin); 10. 以下能对二维数组a进行正确初始化的语句是()。 (A)int a[2][]={{1,0,1},{5,2,3}}; (B)int a[][3]={{1,2,3},{4,5,6}}; (C)int a[2][4]={{1,2,3},{4,5},{6}}; (D)int a[][3]={{1,0,1}{},{1,1}}; 四 程序填空 <<答题说明>> 按“答题”按钮进入程序环境进行调试!在“**********SPACE**********”语 句的下一行完成程序填空,首先将填空标志【?】删除,然后填入正确的答案, 答题结束后,必须在程序环境中做好保存。 当前试题文件夹:C:\\Exam\\3qtc0283\\CK\\421 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输入学生成绩并显示。 -------------------------------------------------------*/ # include struct student { char number[6]; char name[6]; int score[3]; } stu[2]; void output(struct student stu[2]); void main() { int i, j; /***********SPACE***********/ for(i=0; i<2; 【?】) { printf(\请输入学生%d的成绩:\\n\ printf(\学号:\ /***********SPACE***********/ scanf(\【?】.number); printf(\姓名:\ scanf(\ for(j=0; j<3; j++) { printf(\成绩 %d. \ /***********SPACE***********/ scanf(\【?】.score[j]); } printf(\ } output(stu); } void output(struct student stu[2]) { int i, j; printf(\学号 姓名 成绩1 成绩2 成绩3\\n\ for(i=0; i<2; i++) { /***********SPACE***********/ 【?】(\ for(j=0; j<3; j++) printf(\ printf(\ } } /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:用函数调用方式,实现字符串的复制。 -------------------------------------------------------*/ #include void string_copy(char *str_from, char *str_to) { int i=0; /***********SPACE***********/ for(; (*(【?】)=*(str_from+i))!='\\0'; i++) ; } main() { static char array_str1[20]=\ char array_str2[20]; /***********SPACE***********/ 【?】(array_str1, array_str2); /***********SPACE***********/ 【?】(\} /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数 据(包括学生号,姓名,三门课成绩),计算出平均成绩, 设原有的数据和计算出的平均分数存放在磁盘文件\ 中。 -------------------------------------------------------*/ #include char num[6]; char name[8]; int score[3]; double avr; } stu[5]; main() { int i,j,sum; FILE *fp; /*input*/ for(i=0;i<5;i++) { printf(\ printf(\ scanf(\ printf(\ scanf(\ sum=0; /***********SPACE***********/ for(j=0;【?】;j++) { printf(\ scanf(\ /***********SPACE***********/ sum+=stu[i].【?】; } stu[i].avr=sum/3.0; } fp=fopen(\ /***********SPACE***********/ for(i=0;i<5;【?】) /***********SPACE***********/ if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1) printf(\ fclose(fp); } /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:从读入的整数数据中,统计大于零的整数个数和小于零的 整数个数。用输入零来结束输入,程序中用变量i统计大于 零的整数个数,用变量j统计小于零的整数个数。 -------------------------------------------------------*/ #include int n,i,j; printf(\ i=j=0; scanf(\ while(n!=0) { /***********SPACE***********/ if(n>0)i=【?】; /***********SPACE***********/ if(n<0)j=【?】; /***********SPACE***********/ scanf(\【?】); } printf(\} 五 程序设计 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数实现两个数据的交换,在主函数中输入任 意三个数据,调用函数对这三个数据从大到小排序。 ------------------------------------------------*/ #include void swap(int *a,int *b) { /**********Program**********/ (C)4个字节 (D)8个字节 3.下列标识符中,不合法的C语言用户自定义标识符是()。 (A)printf (B)enum (C)_ (D)sin 4.若x=2,y=3则x&y的结果是()。 (A)0 (B)2 (C)3 (D)5 5.下面说明不正确的是()。 (A)char a[10]=\ (B)char a[10],*p=a;p=\(C)char *a;a=\ (D)char a[10],*p;p=a=\ 6.double x;scanf(\不可以赋值给x变量的常量是()。 (A)123 (B)100000 (C)A' (D)\ 7.一个C程序的执行是从()。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 (C)本程序的main函数开始,到本程序文件的最后一个函数结束 (D)本程序文件的第一个函数开始,到本程序main函数结束 8.以下正确的说法是()。 (A)用户若需调用标准库函数,调用前必须重新定义 (B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C)系统根本不允许用户重新定义标准库函数 (D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 9.当定义一个结构体变量时,系统分配给它的内存是()。 (A)各成员所需内存量的总和 (B)结构中第一个成员所需内存量 (C)结构中最后一个成员所需内存量 (D)成员中占内存量最大者所需的容量 10.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。 (A)2 (B)3 (C)4 (D)无确定值 四 程序填空 第一题 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:有五个学生,每个学生有3门课的成绩,从键盘输入以上数 据(包括学生号,姓名,三门课成绩),计算出平均成绩, 设原有的数据和计算出的平均分数存放在磁盘文件\中。 -------------------------------------------------------*/ #include char num[6]; char name[8]; int score[3]; double avr; } stu[5]; main() { int i,j,sum; FILE *fp; /*input*/ for(i=0;i<5;i++) { printf(\ printf(\ scanf(\ printf(\ scanf(\ sum=0; /***********SPACE***********/ for(j=0;【?】;j++) { printf(\ scanf(\ /***********SPACE***********/ sum+=stu[i].【?】; } stu[i].avr=sum/3.0; } fp=fopen(\ /***********SPACE***********/ for(i=0;i<5;【?】) /***********SPACE***********/ if(fwrite(&stu[i],sizeof(【?】),1,fp)!=1) printf(\ fclose(fp); } 第二题 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:将一个数组中的元素按逆序存放。 -------------------------------------------------------*/ #include static int a[N]={12,9,16,5,7,2,1},k,s; printf(\ for (k=0;k /***********SPACE***********/ for (k=0;k s=a[k]; /***********SPACE***********/ 【?】 ; /***********SPACE***********/ 【?】 ; } printf(\ for (k=0;k /***********SPACE***********/ 【?】 (\} 第三题 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:输出结果为: * * * * * * * * * * * * * * * * * * * * -------------------------------------------------------*/ #include /***********SPACE***********/ static char 【?】={'*','*','*','*','*'}; int i,j,k; char space=' '; for(i=0;i<5;i++) { printf(\ for(j=1;j<=3*i;j++) /***********SPACE***********/ printf(\【?】); /***********SPACE***********/ } void wwjt() { FILE *IN,*OUT; int n; int i[10]; int o; IN=fopen(\ if(IN==NULL) { printf(\ } OUT=fopen(\ if(OUT==NULL) { printf(\ } for(n=0;n<10;n++) { fscanf(IN,\ } fun(i,&n,3); for(o=0;o fprintf(OUT,\ } fclose(IN); fclose(OUT); } 一 填空题 1. 已知a=13,b=6, a^b的十进制数值为【1】. 2. 如果函数不要求带回值,可用【1】来定义函数返回值为空. 3. 当a=3,b=2,c=1;时,执行以下程序段后 b=【1】. if(a>b) a=b; if(b>c) b=c; else c=b; c=a; 4. c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 5. C程序在执行过程中,不检查数组下标是否【1】. 6. 若有定义:int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】. 7. C语言中调用【1】函数来关闭文件. 8. 在c程序中,只能给指针赋NULL值和【1】值. 9. 表达式 i++ 相当于表达式i=【1】. 10.若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为 【1】,n的值为【2】. 二 判断题 1. #define 和printf 都不是C语句。 2. 在Turbo C中,整型数据在内存中占2个字节。 3. 语句scanf(\是一个合法的scanf函数。 4. 如果函数值的类型和return语句中表达式的值不一致,则以 函数类型为准。 5. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 6. 如果有一个字符串,其中第十个字符为'\\n',则此字符串的 有效字符为9个。 7. 结构体类型只有一种。 8. 在C 语言中,此定义和语句是合法的: enum aa{ a=5,b,c}bb;bb=(enum aa)5; 9. 7&3+12的值是15。 10. 若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。 三 单选题 1. 以下程序段的输出结果为()。 char c[]=\do ;while(c[i++]!='\\0');printf(\ (A)abc (B)ab (C)2 (D)3 2. 以下叙述正确的是()。 (A)在C程序中,main函数必须位于程序的最前面 (B)C程序的每行中只能写一条语句 (C)C语言本身没有输入输出语句 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。 int i=0; (A)一个整数,代表要读入的数据项总数 (B)一个文件指针,指向要读的文件 (C)一个指针,指向要读入数据的存放地址 (D)一个存储区,存放要读的数据项 4. 以下标识符中,不能作为合法的C用户定义标识符的是()。 (A)answer (B)to (C)signed (D)_if 5. 下面判断正确的是()。 (A)char *a=\等价于 char *a;*a=\ (B)char str[10]={\等价于char str[10];str[]={\ (C)char *s=\等价于 char *s;s=\ (D)char c[4]=\等价于 char c[4]=d[4]=\6. 若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存 空间存入整数123的语句为()。 (A)scanf(\ (B)scanf(\ (C)scanf(\ (D)scanf(\ 7. 以下语句中,不能实现回车换行的是()。 (A)printf(\ (B)putchar(\ (C)fprintf(stdout,\ (D)fwrite(\ 8. int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为()。 (A)1 (B)2 (C)3 (D)不一定 9. 下列程序段的输出结果为()。 float x=213.82631; printf(\ (A)213.82 (B)213.83 (C)213 (D)3.8 10. enum a {sum=9,mon=-1,tue}; 定义了()。 (A)枚举变量 (B)3个标识符 (C)枚举数据类型 (D)整数9和-1 一 判断题 1. 设x=5>1+2,x的值 为【1】. 2.数组在内存中占一段连续的存储区,由【1】代表它的首地址. 3.int x=2;z=x++-1; 则x的值为【1】. 4.已知 i=5,写出语句 i*=i+1; 执行后整型变量 i 的值是【1】. 5. 已知a=13,b=6, a&b的十进制数值为【1】. 6. 表达式 i++ 相当于表达式i=【1】. 7. 设有以下定义的语句: int a[3][2]={10,20,30,40,50,60}, *(*(p+2)+1)值为【1】. 8. 当a=1,b=2,c=3时,执行以下程序段后a=【1】. if (a>c) b=a; a=c; c=b; 9. 下面程序段的输出结果是【1】. int a=12;a=a&052;printf(\ 10. int a=1,b=2,c=3; 表达式(a&b)||(a|b) 的值是【1】. 二 判断题 1. C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 2. 若有说明int c;则while(c=getchar());是正确的C语句。 p=a; 则(*p)[2]; 3.用fopen(\打开的文件\可以进行修改。 4. 共同体变量所占的内存长度等于最长的成员的长度。 5. x*=y+8 等价于 x=x*(y+8)。 6. 关系运算符<= 与 == 的优先级相同。 7. 表达式 (j=3, j++) 的值是4. 8. 若有int ⅰ=10, j=0;则执行完语句 if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。 9. 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6。 10. 如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10}; 三 单选题 1. 在C程序中,可把整型数以二进制形式存放到文件中的函数是()。 (A)fprintf函数 (B)fread函数 (C)fwrite函数 (D)fputc函数 2. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是()。 (A)p=1; (B)*q=2; (C)q=p; (D)*p=5; 3. 执行下列语句后的结果为()。 int x=3,y; int *px=&x; y=*px++; (A)x=3,y=4 (B)x=3,y=3 (C)x=4,y=4 (D)x=3,y不知 4.以下数组定义中不正确的是()。 (A)int a[2][3];
正在阅读:
四年级数学上册计算题专项练习题04-20
法律在我心中作文500字02-04
2015江苏省公立医院医疗机构服务收费04-03
中心机房建设项目规划方案05-07
流体力学流体静力学实验09-24
高速公路收费系统C语言课程设计报告10-01
皮带检修机安全技术措施通用范本06-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 语言考试
- 期末
- 语言
- 计算机
- 考试
- 大学
- 系统
- 长宁镇下鲍学校学案设计六年级三单元
- 中国风电控制系统、变频器行业发展报告
- 压疮风险评估与报告制度、工作流程
- 2017届高考英语押题卷一
- pkpm软件应用之基础设计(桩基础) - secret
- 第五课 中华文化与民族精神复习导学案
- 集团维修改造及基建工程项目管理办法
- 山东省潍坊市2010年高考模拟训练A(理科)
- 人教版 高中数学 选修2-2同步练习1.3.1函数的单调性与导数含答案
- 气相色谱仪日常维护要点及故障的排除
- 《机械设计》实验指导书
- 历年生化名词解释汇总
- 浅谈我国通信光缆制造技术的发展及其理论
- 村街党组织实行规范化星级管理的实施方案
- 浅论我国通货膨胀和失业率相关性分析
- 实验室档案(卷内目录)
- 2016年最新物流师考试模拟试题及答案每日一讲(7月13日)
- 物联网产业链现投资新模式 半导体业迎来新机遇
- 洋浦技工学校顶岗实习管理规定(2015年修订)doc
- 公共基础知识高分试卷