C语言程序设计A课程试卷(6)doc资料
2014年本科插班生考试《C语言程序设计》课程试卷

韩山师范学院2014年本科插班生考试试卷教育技术学专业 C语言程序设计试卷(A卷)一、填空题(每空1分,共10分)1.C语言的标识符必须以________或________开头。
2.C语言程序的执行是从________函数开始。
3.fgets函数的作用是从指定文件读入一个________。
4.表达式13%10的结果是________。
5. 若有定义:int a[3][5];则数组a中共有________个元素。
行下标的下界是________,行下标的上界是________。
6. 若x=3,y=2,则 x|y<<2的结果是___________。
7.数据的输入输出是针对________而言的。
1. 一个C程序的执行是从__________A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C .第一个语句开始,直到最后一个语句结束D .main()函数开始,到最后一个函数结束 2. 一个C 程序是由__________。
A .一个主程序和若干子程序组成 B .一个或多个函数组成 C .若干过程组成D .若干子程序组成3. 下面不正确...的字符串常量是_________。
A. 'abc'B. "12'12"C. "0"D. " "4.以下结果为整数的表达式(设有int i;char c;float f;)_________ A.i+fB.i*cC.c+fD.i+c+f5. 设char ch;以下正确的赋值语句是_________ A.ch= '123’; B.ch= '\xff ’; C.ch= '\08’;D.ch=”\”;6. 设int m=1,n=2,则m=n 的值是_________ A.0B.1C.2D.37. 如下程序的执行结果是_________main() {int n=1,m=2;printf("%d %d ",++n,m++);} A.2 1B.1 2C.2 2D.1 18. 设int a=1,b=2,c=3; 则表达式a==c||a+b>=c 的值是__________ A. F B. 0 C. 1 D. T9. C 语言对嵌套if 语句的规定是:else 总是与 __________ 配对。
2020年电大本科C语言程序设计A期末考试试题及答案

2020年电大本科C语言程序设计A期末考试试题及答案2020年电大本科C语言程序设计A期末考试试题及答案| 本科《C语言程序设计A》复习资料一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
《C语言程序设计基础》--试卷A及参考答案

《C语言程序设计基础》--试卷A及参考答案《c语言程序设计基础》试卷 (A卷)考试时间:90分钟闭卷任课老师:班级:学号:成绩:(每小题2分,共30分)、由C++源文件编译生成的目标文件的缺省)A、cppB、exeC、obj 、lik、下列中,不是C++合法的标识符()A、2mnB、m123C、kk 、a_1、C++中,基本数据类型不包括()、int B、float C、char 、class、x和y均为bool量,则x| |y为真的条件)、它们均为真 B、其中一个为真 C、《C语言程序设计基础》第 2 页共 6 页它们均为假 D、其中一个为假5、C++中,一个字符型数据在内存中占()字节。
A、4B、2C、1D、86、字符串常量”hello”的长度是()A、5B、6C、7D、87、以下语句,int i=2,j=2,m,n;m=i++;n=++j;则m,n,i,j的值分别为()A、2,3,2,2B、2,3,3,3C、2,2,3,3 D、3,3,2,28、假定a为一个整型数组名,则元素a[4]的字节地址为()A、a+4B、a+8C、a+16D、a+329、 x>0 || y==5的相反表达式为()。
A、 x<=0 || y!=5B、 x<=0 && y!=5C、 x>0 || y!=5D、 x>0 && y==5《C语言程序设计基础》第 3 页共 6 页10、在下面的函数声明中,存在着语法错误的是()A、void BC(int a , int)B、void BD(int , int)C、void BE(int , int=5)D、int BF(int x ; int y)11、循环体至少被执行一次的语句为()。
A、for循环B、while循环C、do循环 D、任一种循环12、已知一函数中有下列变量定义,其中属于静态变量的是()A、int a=5;B、staticdouble b;C、register char c;D、auto shortd;13、do语句能够改写为()语句。
C语言程序设计(A卷)

第 1 页 共 5 页一、单选题(每小题1分,共30 分)1. 若变量已正确定义,要求完成求6!的计算,不能完成操作的程序段是 。
A )for(i=1;i<=6;i++) {p=1;p*=i;}B )for(i=1,p=1;i<=6;i++) p*=i;C )i=1;p=1;while(i<=6) {p*=i;i++;}D )i=1;p=1;do {p*=i;i++;} while(i<=6);2. 以下程序的输出结果是 。
main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c++; else c++; else c--; printf("%d",c);}A )1B )4C )2D )3 3. 以下程序的输出结果是 。
main(){int x=0,a=0,b=0; switch(x) {case 0:b++; case 1:a++;break; case 2:a++;b++;}printf("a=%d,b=%d",a,b); }A )a=2,b=1B )a=1,b=1C )a=1,b=0D )a=2,b=2 4. 以下程序的输出结果是 。
main(){ int x=10,y=10,i;for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }A )10 1 9 2B )9 8 7 6C )10 10 9 1D )10 9 9 0 5. 以下程序的输出结果是 。
main(){int s=0,i,x[][3]={1,2,3,4,5,6,7,8}; for(i=0;i<3;i++) s=s+x[i][2-i]; printf("%d",s); }A )6B )15C )36D )0 6.下面程序段执行后,a 的值是______。
C语言程序设计试卷(含答案)

.2015年春季学期《C 语言程序设计》试卷A一.选择(每道小题2分,合计30分)1、以下选项中合法的标识符是( )。
A)1_1B)1-1C)_11D)1_ _2、若函数中有定义语句:int k;,则( )。
A)系统将自动给k 赋初值0 B)这时k 中的值无定义 C)系统将自动给k 赋初值-1D)这时k 中无任何值3、以下选项中,能用作数据常量的是( ) 。
A)o115B)0118C)1.5e1.5D)115L4、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A)x*=x+1 B)X++,2*x C)x*=(1+x)D)2*x,x+=25、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果是( )。
A)123.141593 B)12 3.141593C)12,3.141593D)123.14159306、把2进制数10000111101转化为十进制数为( )。
A)1083B)1084 C)1085D)10867、以下是if 语句的基本形式: if(表达式) 语句 其中"表达式"( )。
A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式8、有以下程序#include <stdio.h> main(){ int x; scanf("%d",&x);if(x<=3); elseif(x!=10) printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果( )。
A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数D)小于3的整数9、有以下程序#include <stdio.h> main(){ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)if (b!=2||c--!=3) printf("%d,%d,%d\n",a,b,c);else printf("%d,%d,%d\n",a,b,c); else printf("%d,%d,%d\n",a,b,c);} 程序运行后输出结果是( )。
一学期《C程序设计》试卷A(级)含答案

16.阅读以下程序
#include <stdio.h>
voidmain()
{intcase。float printF。
printf(“请输入2个数:”)。
scanf(“%d%f”, &case, &printF)。
printf(“%d %f”, case, printF)。
C) struct student{ char name[20]。char sex。int age。} s1。
D) struct { char name[20]。char sex。int age。} s1。
15.设有定义:char *p。以下选项中能够使字符型指针p正确指向一个字符串的是:【 】
A) char str[]=”China”。p=str[0]。B) scanf(“%s”, p)。
19.以下数组定义中错误的是【 】
A)int x[][3]={0};
B)int x[2][3]={{l,2},{3,4},{5,6}};
C)int x[][3]={{l,2,3},{4,5,6}};
D)int x[2][3]={l,2,3,4,5,6};
20.定义数组int a[10],若整型类型变量长度是2个字节,数组a的首地址是0,则&a[5]的值是:【 】
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
12.在C语言中,函数返回值的类型最终取决于【 】
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型
高级语言程序设计(C语言)A试卷与答案

《高级语言程序设计(C语言)》A试卷和参考答案一、选择题(每题2分,25题,共50分)下列各题A、B、C、D四个答案中,只有一个选项是正确的,请将每题的正确答案写在答题纸对应序号的横线上,答在试卷上不能得分1、对于C语言的函数,下列叙述中正确的是(1)A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义和调用都有不能嵌套C、函数的定义和调用都能嵌套D、函数的定义能嵌套,但函数调用不能嵌套2、以下程序的输出结果是( 2 )。
main(){int x=1,a=2, b=3;switch(x){ case 0: b=b+a;break;case 1: a=b+a;case 2: ++a;++b;}printf("a=%d,b=%d\n",a,b);}A、a=6,b=4B、a=5,b=3C、a=6,b=3D、a=5,b=43、以下程序的输出结果是( 3 )。
main(){int a=1,c;c=7/2||++a;printf("%d,%d ",a,c);}A、1,1B、0,1C、1,3D、2,34、若:char s[30][30];则数组元素的非法引用是(4)。
A、s[20][9]B、s[29+1][2*3]C、s[3][29]D、s[9][30-1]5、有以下定义语句:int a[10]={3, 9, 11, 14, 20, 32, 60}, *p;p=a;则++(*++p) 的值是(5)A、9B、11C、22D、106、下列可以正确表示字符型常数的是( 6 )A、"a"B、"\010"C、'\n'D、h7、若定义语句float bb[100],则该数组array元素的上、下限为( 7 ) 。
A、0,99B、99,0C、100,1D、0,1008、下列各组字符序列中,可用作C语言程序标识符的是(8)。
A、SBSDB、_1$234C、spr#itD、4_cf_1在9、已知:char ch='t';则下列表达式的值是( 9 )ch = (ch>='a'&&ch<='z') ? (ch-32) : ch;A、TB、AC、ZD、t10、以下程序段的输出结果是( 10 ) 。
《C语言程序设计》期末考试试卷(A卷)

《C语言程序设计》期末考试试卷(A卷)一、单项选择题(本大题共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的是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计A课程试卷(6)
一、单选题(每小题2分,共20分)
1. C语言程序中的基本功能模块为()。
A. 表达式
B. 标识符
C. 语句
D. 函数
2. 逻辑表达式(x>0 || y==5)的相反表达式为()。
A. x<=0 || y!=5
B. x<=0 && y!=5
C. x>0 || y!=5
D. x>0 && y==5
3. 循环体至少被执行一次的循环语句为()。
A. for
B. while
C. do-while
D. 任一种循环
4. 假定n的值为5,则表达式n++的值为()。
A. 6
B. 5
C. 4
D. 7
5. 假定一个二维数组的定义为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][0]的值为()。
A. 0
B. 2
C. 4
D. 6
6. 假定一个函数原型为“char* func(int n)”,则该函数的返回类型为( )。
A. int
B. int*
C. char
D. char*
7. 假定a为一个字符数组名,则元素a[i]的指针访问方式为( )。
A. a+i
B. *(a+i)
C. &a+i
D. *a+i
8. 假定有语句为“int *p=calloc(10+20,sizeof(int));”,则p所指向的动态数组中所包含的元素个数为()。
A. 10
B. 20
C. 30
D. 40
9.十进制数50表示成符合C语言规定的八进制数为________。
A. 20
B. 32
C. 62
D. 062
10. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。
A. "r+"
B. "ab+"
C. "rb+"
D. "wb+"
二、填空题(每小题2分,共26分)
1. 在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________。
2. 用于从键盘上为变量输入值的标准输入函数的函数名为________。
3. 假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为
________。
4.double类型的长度为________。
5. 执行“int x=45,y=13;printf("%d",x/y);”语句序列后得到的输出结果为________。
6. 把表达式x=x+y转换成复合赋值表达式为__________。
7. 假定x的值为5,则执行“a=(!x? 10: 20);”语句后a的值为________。
8. 假定一维字符指针数组的定义为“char* a[8];”,则该数组占用的存储空间的字节数为________。
9. 假定二维数组的定义为“double a[M][N];”,则数组元素的行下标取值范围在_________之间。
10. 空字符串的长度为________。
11. 在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为________。
12. 若p指向x,则________与x的表示是等价的。
13. 直接访问表达式(*fp).score所对应的间接访问表达式为
____________。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1. #include<stdio.h>
void main() {
int i,j,k=0;
for(i=0; i<5; i++)
for(j=i; j<5; j++) k++;;
printf("%d\n",k);
}
2. #include<stdio.h>
void main() {
int x=20;
int i=2;
while(i<x) {
if(x%i==0) {printf("%d ",i); x/=i;}
i++;
}
}
3. #include<stdio.h>
void main() {
int a[8]={76,63,54,95,40,75,90,66};
int i, s=0;
for(i=0; i<8; i++)
if(a[i]>=70 && a[i]<=90) s+=a[i]; printf("s=%d\n",s);
}
4. #include<stdio.h>
int WF(int x, int y) {
x=x+y;
y+=x;
return x+y;
}
void main() {
int x=3, y=8;
printf("%d\n",WF(x,y));
}
5. #include<stdio.h>
int LA(int *a, int n) {
int i,s=0;
for(i=0;i<n;i++) s+=a[i];
return s;
}
void main() {
int a[5]={1,2,3,4,5};
int b=LA(a,5)+LA(a+2,3);
printf("b=%d\n",b);
}
四、写出下列每个函数的功能(每小题6分,共12分)
1. int WC(int a[], int n, int k) {
int i, c=0;
for(i=0;i<n;i++)
if(a[i]>=k) c++;
return c;
}
函数功能:
2. void QA(struct Worker a[], int n)
{
int i;
for(i=0; i<n; i++)
scanf("%s %d %f", a[i].name, &a[i].age, &a[i].pay); }
假定结构类型struct Worker 的定义如下:
struct Worker { char name[15]; int age; float pay;};
函数功能:
五、按题目要求编写函数(每小题6分,共12分)
1. 根据函数原型“double Mean(double a[M][N],int m,int n)”,编写函数定义,要求返回二维数组a[m][n]中所有元素的平均值。
假定在计算过程中采用变量v存放累加值和最后的平均值。
2. 根据函数原型“int MM(int a[],int m)”,编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差。
C语言程序设计A课程试卷答案及评分标准(6)
(供参考)
一、单选题(每小题2分,共20分)
1. D
2. B
3. C
4. B
5. A
6. D
7. B
8. C
9. D 10. C
二、填空题(每小题2分,共26分)
1. #include
2. scanf
3. 1
4. 8
5. 3
6. x+=y
7. 20
8. 32
9. 0~M-1 10. 0 11. 0 12. *p
13. fp->score
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
评分标准:根据答案正确程度酌情给分。
1. 15
2. 2 5
3. s=241
4. 30
5. b=27
四、写出下列每个函数的功能(每小题6分,共12分)
评分标准:根据答案叙述正确与完整程度酌情给分。
1. 统计并返回一维整型数组a[n]中大于等于k的值的个数。
2. 从键盘上为具有struct Worker类型的数组a[n]输入n个记录。
五、按题目要求编写函数(每小题6分,共12分)
评分标准:根据函数编写的正确与完整程度酌情给分。
1. double Mean(double a[M][N],int m,int n)
{
int i,j;
double v=0.0; //1分
for(i=0; i<m; i++)
for(j=0; j<n; j++) v+=a[i][j]; //4分
v/=m*n;
return v; //6分
} //注:函数体的最后两行可以合并为一条返回语句:return v/=m*n
2. int MM(int a[],int m)
{
int i,x1,x2;
x1=x2=a[0]; //1分
for(i=1; i<m; i++) { //2分
if(a[i]>x1) x1=a[i]; //3分 if(a[i]<x2) x2=a[i]; //4分 } //5分 return x1-x2; //6分 }。