2013-C语言期末考试试卷-A

北京师范大学2012~2013学年第2 学期期末考试试卷(A卷)课程名称:程序设计语言(C语言)任课教师姓名:于福生刘玉铭卷面总分:100 分考试时长:100 分钟考试类别:闭卷院(系):专业:年级:姓名:学号:阅卷教师(签字):一、单项选择题(20×2=40分)1.以下符合C语言语法的实型常量是【】A) 1.2E0.5 B) 3.14159EC) .5E-3 D) E152.若变量已正确定义,要将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;3.若有以下定义:int a[] = { 1,2,3,4,5,6,7 };char c1 = …b‟, c2 = …2‟;则值不为2的表达式是【】A)a[1] B)‟d‟-c1C)a[…3‟-c2] D)c2-04.与表达式i+1+1值相等的是【】A) (i++)+1 B) ++i+1C) (i++)++ D) i+1++5.已知char str1, str2[10]; 正确的输入语句是【】A) scanf (“%c%s”, &str1,str2) ;B) scanf ("%s%s", &str1,str2) ;C) scanf (“%c%c”, &str1,str2) ;D) scanf ("%s%c", &str1,str2) ;6.若希望当A的值为奇数时,表达式的值为"真";A的值为偶数时,表达式的值为"假"。

不能满足要求的表达式是【】A) A%2==1 B) !(A%2= = 0)C) !(A%2)D) A%27.以下main函数说明形式正确的是【D 】A) int main (int a, char *s) B) void main (int a, char s[ ][ ])C) void main (int a, char s) D) int main (int a, char *s[ ])8.要定义只可在所在源文件中使用的全局变量,则该变量的类别是【】A) auto B) externC) static D) register9.若有定义int a[5], *p=a,则对a数组元素的正确引用是:【】A) *&a[5] B) a+2C) *(p+5) D) *(a+2)10.设int x=1,y=3;执行后x的值不等于6的赋值语句是【】A) x=(x=1+2,x*2); B) x=y>2?6:5;C) x=9-(--y) -(--y); D) x=y*4.6/2;11.设有定义int a[10],则p+5表示【】A)a[5]的地址B)a[6]的地址C)a[5]的值D)a[6]的值12.用fopen打开一个新的可以读写的二进制文件,则文件的方式字符串为【】A) “ab+”B) “wb+”C) “rb+”D) “ab”13.设int b, a; float c;c = (float) a+b; 则(float)的作用是使【】A) 变量a的类型发生改变B) 变量a,b的类型发生改变C) 变量a的值的类型发生改变D) 变量a,b的值的类型发生改变14.若有以下定义和说明:#include <stdio.h>struct std {char num[6];char name[8];float mark[4];}a[30];FILE *fp;设文件中以二进制形式已存有1个班的学生数据,且文件已正确打开,文件位置指针定位于文件开头。

若要从文件中读出30个学生的数据放入数组a中,以下不能实现此功能的语句是【】。

A)f or(i = 0; i < 30; i++) fread(&a[i], sizeof(struct std), 1, fp);B)f or(i = 0; i < 30; i++) fread(a + i, sizeof(struct std ), 1, fp);C)f read(a, sizeof(struct std), 30, fp);D)f or(i = 0; i < 30; i++) fread(a[i], sizeof(struct std ), 1, fp);15.程序段int x=3; do printf("%d",x--);while(!x);的输出结果是【】A) 3210 B) 321C) 3 D) 不输出任何内容16.程序段int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12},*p=&a[0][1], (*q)[4]=&a[1];printf ("%d,%d", *(p+3), *(*(q+1)+1));的输出结果是【】A) 4,6 B) 4,10C) 5,6 D) 5,1017.有以下程序段:int k = 1; while (k = 1) k--;则while循环执行的次数是【】。

A)无限次B)执行1次C)一次也不执行D)以上都不正确1. 设有程序段int a=1,b=2,c=3,s;if(a/b<0.2) s=(a+=b,a*4); else s=c%=b; 则执行后s的值等于【】。

A) 3B) 4C) 12D) 018.以下定义中错误的是:【】。

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}}19.已知FILE *f; float x=25.6531;则语句fprintf(f, "%4.2f", x);执行后文本文件f的大小增加量为:【】。

A) 4字节;B) 7字节;C) 9字节;D) 5字节;20.执行以下程序段:char ss[10]="12345";gets(ss);strcat(ss, "6789");printf("%s\n",ss);可能的输出结果是:【】A) ABC6789 B) 123456ABCC) 12345ABC D) ABC456789二、阅读程序、写出程序的执行结果(6×5=30分)1.#include<stdio.h>void main(){char a[ ] = "language", b='a' ;char *p=a , *q=a ;while (*p)if ( *p != b ) *q++ = *p++;else p++;*q = 0;puts (a);}2.#include <stdio.h>int f ( int n ){if ( n == 0) return 0;else return f (n/2) + n%2 ;}void main( ){printf ( "%d", f (13) );}3.#include<stdio.h>int f (int *p1, int *p2, int n){int i, s;for ( i=0, s=0; i<n; i++, p1++, p2++ )if (*p1 > *p2) s += (*p1+*p2) / 2;}void main( ){int x [ ] = {5, 4, 3, 2 , 1}, y [ ] = {1, 2, 3, 4, 5} ;printf ( "%d ", f (x, y, 5) ) ;}4.#include<stdio.h>void main(){int a[3][3] = { {3, 2, 2}, {4, 5, 6}, {-2, 9, 2} };int i, j, s = 0;for ( i=0; i<3; i++ )for ( j=0; j<3; j++ )if ( i+j == 2 || i == j) s += a[i][j];printf ( "s=%d", s );}5.#include<stdio.h>void main(){int i = 30, n=0, t;while ( t=i-- ){if ( t%3 ) continue;if ( t%10 == 3) continue;n++;}printf ( "%d", n);}6.#include<stdio.h>struct StudentType{char name[10];float score[3];};void main(){StudentType stu[3] = {{"张三", 90, 95, 100},{"李四", 70, 92, 90}, {"王五", 80, 89, 80}};StudentType *p;int i;float ave = 0;for ( i=0, p=stu; i<3; i++, p++ )ave += p->score[1];ave /= 3;printf ( "%6.1f\n", ave );}四、编程题(3×10=30分)1.编程:从键盘输入一个2进制数,转换成10进制输出。

2.编程计算韩信点兵问题:韩信带1500名兵士打仗,战死约400~500人,剩余的兵士,3人站一排,多出2人;5人站一排,多出4人;7人站一排,多出6人;问还剩多少兵士。

3.已知1个班的所有学生的数学课程的成绩,存放在文本文件“学生成绩.txt”中,文件的数据格式样例如下(行数根据班级学生人数确定,不是固定值):每行存储,以及60分以下的学生人数。

合集下载

大学C语言期末考试试题(含答案)

大学C语言期末考试试题(含答案)

第一章C语言概述1.1 选择题*1.1一个C程序的执行是从 A 。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束参考答案:A参考分析:C语言总是从main函数开始,main函数结束。

但是C 语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。

如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。

*1.2以下叙述正确的是 C 。

A)在C程序中,main函数必须位于程序的最前面B)在C程序的每一行只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误参考答案:C参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。

因此,如果注释中存在错误,系统是不可能发现的。

另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。

1.3以下叙述不正确的是 D 。

A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面参考答案:D参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。

C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。

1.4 C语言规定:在一个源程序中,main函数的位置 C 。

A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后参考答案:C*1.5一个C语言程序是由 B 。

A)一个主程序和若干个子程序组成B)若干函数组成C)若干过程组成D)若干子程序组成参考答案:B参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。

c语言程序设计试卷及答案(A)

c语言程序设计试卷及答案(A)

A。 p=&a
B。 p=a
C. *p=&a
D. *p=*a
16.以下函数调用语句中,func(a+b,c-d+100);含有的实参个数是( )。
A. 1
B. 2
C。 4
D. 5
17.有以下定义:struct person{char name[9]; int age;}
struct person class[10]={“Johu",17,“Paul”,19,“Mary”,18,“Adam”,16,};
第 7 页,共 7 页
#include <stdio。h>
#define SIZE 10
struct Student_type <—--———————-—-——-———
{ char name[10];

int num;

int age;

char addr[15];
1
}stud[SIZE];
<—-——-——--——-----—
7。 存储字符串“program”的字符数组至少需要____个元素。
8 指针变量可以加减一个整数,例如:_______________;指针变量可以有空值,例
第 3 页,共 7 页
如_____________________________________________________.
9 以下程序从键盘输入 10 个学生的有关数据,然后把它们转存到磁盘文件上去。
{ int c; a+=a; b+=b; c=fun2(a,b);
return c; }
fun2(int a,int b)
第 5 页,共 7 页

2013年C语言知识学习期末试题(A)

2013年C语言知识学习期末试题(A)

四川大学期末考试试题(A卷)(2013——2014 学年第一学期)课程号:303066030课序号:课程名称:计算机基础及C程序设计语言任课教师:刘亚梅刘洋任瑞玲曾晓东余勤罗伟王茂宁王忠邓丽华成绩:适用专业年级:2012级学生人数:印题份数:学号:姓名:注:1试题字迹务必清晰,书写工整。

本题8 页,本页为第 1 页2 题间不留空,一般应题卷分开教务处试题编号:学号:姓名本题8 页,本页为第 2 页教务处试题编号:学号:姓名以下叙述中正确的是______。

A)在给s1和s2数组置初值时,系统会自动添加字符串结束符,故长度都为3B)由于s1数组中没有字符串结束符,长度不能确定;但s2数组中字符串长度为3C)由于s1和s2数组中都没有字符串结束符,故长度都不能确定D)以上说法都不对25.若有定义:int a=0, *p=&a;,则语句printf("%d\n",*p);的输出结果是______。

A)随机值B)0 C)a的地址D)p的地址26.下面程序段,输出*的个数是char *s="\tx++\016yz";for (;*s!='\0';s++) printf("*");A)4 B)9 C)7 D)1127.若有以下说明,且0≤i≤10,则对数组元素的错误引用是_______。

int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p = a, i;A)p[i] B)a[p-a+i] C)p+i D)*(&a[i])本题8 页,本页为第 3 页教务处试题编号:学号:姓名void main(){int a[]={2,4,6,8,10}, y=0, x, *p;p=&a[1];for(x= 1; x<3; x++)y += p[x];printf("%d\n",y);}A)10 B)11 C)14 D)15 30.以下程序运行后的输出结果是______。

C语言练习题填空题1

C语言练习题填空题1
4.0(x>=20)main( )
{ float x,y;
scanf("%f",&x);
if(【】)
y=-1.0;
else if((【】)&&(x!=1))
y=2.0/(x-1.0);
else if(【】)
y=3.0/x;
else
y=4.0;
printf("%f/n",y); }
19.
以下函数的功能是将一个字符串S的内容颠倒过来。
}
printf(“\nsum的结果为:%f ”,sum);
}
22.
表达式4>3 && 7<5-!0的值为_______。
23.
char *p[10];这条语句的含义是:_________________________。
24.
假定x=10,则表达式x<=10?20:30的值为___________。
sum+=s[i];
if((i+1)%5==0)
{
w[k]=sum/5;
【2】;
k++;
}
}
}
main()
{
float s[SIZE],w[SIZE/5],sum;
int i,k;
fav1(s);
fav2(s,w);
}
4.
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为:_____________。
24.20
试卷指标统计数据
总题量
总分值
24
100
章节编码
题量
分值
章节说明
01

2013C语言考试题(1)答案

2013C语言考试题(1)答案

C语言考试题(1-5章)答案一、阅读程序题(每题5分,共40分)1.阅读程序,写出程序运行结果。

#include <stdio.h>int main(){char c1,c2;float d,e;c1='a';c2='b';d=3.567;e=-6.872;printf("c1=%d,c2=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",c1,c2,c1,c2,d,e);return 0;}答案:c1=97,c2=98c1=a,c2=bd= 3.57,f= -6.872.阅读程序,写出程序运行结果。

#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}答案:9,11,9,103.若输入4,程序运行结果为【1 】,若输入-4,运行结果为【2 】,若输入10,运行结果为【3 】。

#include<stdio.h>Int main(){ int x,y;scanf("%d",&x);if(x<1){ y=x;printf("x=%d,y=x=%d\n",x,y);}else if(x<10){ y=2*x-1;printf("x=%d,y=2*x-1=%d\n",x,y);}else{ y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);}}答案:【1 】x=4, y=2*x-1=7【2 】x=-4, y=x=-4【3 】x=10, y=3*x-11=194.阅读程序,写出程序运行结果。

#include<stdio.h>int main(){int a=10,x=100,y=20,ok1=15,ok2=0;if(x>y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;elsea=-1;printf("%d\n",a);return 0;}答案:-15.阅读程序,写出程序运行结果。

C语言期末考试题(含答案)

C语言期末考试题(含答案)

C语言期末考试题(含答案)《C语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是()A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C 语言中的函数不可以单独进行编译。

2、一个C语言的源程序中()A)必须有一个主函数B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数3、以下不能定义为用户标识符的是()A)scanfB)VoidC)_3comD)int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;15、设有定义:floata=2,b=4,h=3;以下C语言表达式中与代数式(a b)*h的计2算结果不相符的是().C)for、while、do-whileD)if、for、continue7.在while(!x)语句中的!x与下面条件表达式等价的是()A) x!=0B) x==1C)x!=1D)x==08、有以下程序:#include <XXX>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n”,i,j,k);}执行后的输出结果是()A)1,1,2B)2,2,1C)2,2,2D)2,2,39、有以下程序:#include <XXX>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n);D)void fun(n,x);2、填空题(10x2’=20’)11、C言语描绘“x和y都大于或等于z”的表达式是:。

厦门理工学院2013级C语言程序期末试卷_A


学号 栏 息 姓名 专业 系 装 级 班级 订 考 生 信 线
第 7 页 共 7 页
%3d\n",i,j,k);
第 4 页 共 7 页
3. 以下程序的功能是计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。 #include<stdio.h> #include<math.h> void main( ) { float x,y,z,sum; 【8】 scanf("%f%f%f",&x,&y,&z); sum=【9】+【10】 ; printf("sum=%f\n",sum); } float f(float a,float b) { float value; value=a/b; 【11】; } 4. 下面的程序从终端输入 5 个学生的学号和姓名。 #include<stdio.h> struct student { int studentID; char studentName[10]; }; void data_in(struct student *p, int n) { struct student *q = 【12】; for(; p<q; p++) { printf("please input the student ID:"); scanf("%d", 【13】); printf("please input the student Name:"); scanf("%s", 【14】); } } void data_out(struct student stu[5], int n) { int i; printf("the result of output:\n ID Name\n"); for(i=0; i<5; i++) { printf("%6d%10s\n",stu[i].studentID, stu[i].studentName); } } int main() { struct student stu[5]; data_in(【15】, 5); data_out(stu, 5); }

C语言程序设计期末考试卷及答案

C语⾔程序设计期末考试卷及答案C 语⾔程序设计期末考试卷及答案⼀、单项选择题。

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

1.⼀个C 语⾔程序的执⾏是从()。

A )本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束B )本程序的main 函数开始,到main函数结束C )本程序的main 函数开始,到本程序⽂件的最后⼀个函数结束D )本程序⽂件的第⼀个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语⾔关键字的是()。

A )switchB )printfC)default D )case3.设有语句inta=4;,则执⾏了语句a+=a-=a*a;后,变量a 的值是()。

A )24B )-24C )4D )164.已知inti;floatd;,则正确的表达式是()。

A )(intd)B )int(d)%iC )(int)d%iD )int(d%i) 5.已知inti,a;,执⾏语句i=(a=3*9,a/5),a+11;后,变量i 的值是()。

A )5 B )16C )27D )386.下列选项中合法的字符型常量是()。

A )"a"B )'\n'C )7.下⾯程序的运⾏结果是()。

#include voidmain() {intk=15;printf("k=%d,k=%o,k=%x\n",k,k,k);}A )k=15,k=15,k=15B )k=15,k=17,k=17C )k=15,k=017,k=0xfD )k=15,k=17,k=f 8.已知a,b,c 为int 类型,执⾏语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输⼊形式是()。

A )10B )10C )10,20,30D )102020203030 309.已知intx=1,y=2,z=3;,执⾏下列程序段后,输出的结果是()。

《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的是。

C语言试题及答案A

绝密★启用前学院学年第二学期期末考试级 专业 《C 语言》试卷A一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、( )是构成C 语言程序的基本单位。

A 、函数B 、过程C 、子程序D 、子例程 2、以下说法中正确的是( )。

A 、C 语言程序总是从第一个定义的函数开始执行B 、在C 语言程序中,要调用的函数必须在main( )函数中定义 C、C 语言程序总是从main( )函数开始执行D 、C 语言程序中的main( )函数必须放在程序的开始部分 3、下列关于C 语言的说法错误的是( ) 。

A 、C 程序的工作过程是编辑、编译、连接、运行B 、C 语言不区分大小写。

C 、C 程序的三种基本结构是顺序、选择、循环D 、C 程序从main 函数开始执行4、下列正确的标识符是( )。

A 、-a1B 、a[i]C 、a2_iD 、int t 5、C 语言中的简单数据类型包括( )。

A 、整型、实型、逻辑型B 、整型、实型、逻辑型、字符型C 、整型、字符型、逻辑型D 、整型、实型、字符型 6、在C 语言程序中,表达式5%2的结果是( )。

A 、2.5 B 、2 C 、1 D 、37、如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )。

A 、3B 、4C 、0D 、1 8、C 语言中,关系表达式和逻辑表达式的值是( )。

A 、0B 、0或1C 、1D 、‘T’或’F’ 9、下面( )表达式的值为4.A 、11/3B 、11.0/3C 、(float)11/3D 、(int)(11.0/3+0.5)10、设整型变量 a=2,则执行下列语句后,浮点型变量b 的值不为0.5的是( )。

A 、b=1.0/aB 、b=(float)(1/a)C 、b=1/(float)aD 、b=1/(a*1.0) 11、在C 语言中对一维整型数组的正确定义为( )。

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