2013年c语言期末考试题

合集下载

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语言程序设计期末考试试卷及答案

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

大学大一C语言程序设计期末考试试卷及答案C语言程序设计试卷答卷说明:1、本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。

2、闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。

3、本试卷适用于2011级1、2、3班。

题号一二三四总分总分人分数得分评卷人一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共20分)1、在C语言中,下列标识符中合法的是( )A). -int B). in1_3 C). A_B!D D). const2、不属于C语言基本数据类型的是( )A). int B). union C). char D). unsigned3、下面是对宏定义的描述。

不正确的是( )A). 宏不存在类型问题,宏名无类型,它的参数也无类型B). 宏替换不占用运行时间C). 宏替换只是字符串的简单替代D). 宏替换时先检查类型,类型一致时才可以替换4、C语言中,″\\xfds″在内存中占用的字节数是( )A).3 B).4 C).5 D).65、设int x;则执行printf(″%x\n″,~x^x);的结果是( )A). ffffffff B). ff C). 0 D). 16、对于while语句,错误的说法是( )A).用条件控制循环体的执行次数 B).循环体至少要执行一次C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句7、执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,88、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A).9,19 B).9,20 C).10,19 D).10,209、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A).147 B).159 C).357 D).36911、执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A).125 B).126 C).127 D).12812、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A).–132 B).–60 C). -24 D). 013、为了连接两个字符串s1与s2,应当使用( )A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 )14、 设int a,*p ;则语句p=&a;中的运算符“&”的含义是( )A).位与运算 B).逻辑与运算 C).取指针内容 D).取变量地址15、 下面输出的结果为( )int a=13, b=64;printf(“%d \n”, !a || (b>>3) ); A).13 B).64 C).1 D).016、 下列定义正确的是( )A).enum t={a,b}x; B). enum t{1,2}x; C). enum{′+′,′-′}x; D). enum t{a,b}x;17、 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d \n″,sizeof(aa));的输出是( ) A).32 B).36 C).12 D).818、 数据-54.78在文本文件中占用的字节个数是( ) A).4 B).5 C).6 D).819、 在宏定义#define p(r) 3.14*r 中,请问宏名是( )A). p B). p(r) C). 3.14*r D). p(r) 3.14*r20、 要打开一个已存在的用于修改的非空二进制文件“hello.txt ”,正确语句是( )A). fp=fopen( "hello.txt ","r" ) B). fp=fopen( "hello.txt ","ab+" )C). fp=fopen( "hello.txt ","w" ) D). fp=fopen( "hello.txt ","r+" ) 得评__________________学院__________级___________班 姓名_______________ 学号_______________………………………………(密)………………………………(封)………………………………(线)………………………………分 卷人二、填空题(仔细阅读每小题的说明和源代码,并将正确答案写到答题纸上对应的题号处。

2013-2014第二学期C语言期末试卷B

2013-2014第二学期C语言期末试卷B

2013-2014学年第二学期《C语言程序设计》期末试卷(B)1.起换行作用的转义字符是()。

A.’\t’B.’\b’C.’\n’D.’\r’2.在以下几组运算符中,优先级最高的运算符是()。

A.<=B.=C./D.&&3.设有定义“int i=1;”,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A.i++B.i+=1C.i+1D.++i4.C语言的三种基本结构是()。

A.顺序结构.逻辑结构.选择结构B.顺序结构.选择结构.循环结构C.逻辑结构.层次结构.网状结构D.层次结构.顺序结构.循环结构5.关于数组元素类型的说法,下列()是正确的。

A.必须是整数类型B.必须是整型或实型C.必须是相同数据类型D.可以是不同数据类型6.以下程序段的输出结果是()。

#include<stdio.h>void main(){int i,j,m=0;for(i=1;i<=5;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);}A.10B.15C.20D.257.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。

A. 1B. 0C. 4D. 38.在C语言中运算对象必须是整型的是()。

A.%B./C.==D.<=9.若变量已说明为int类型,要给a、b、c输入数据,以下正确的输入语句为()。

A.read(a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%D%D%D",&a,%b,%c);D.scanf("%d%d%d",&a,&b,&c);10.下面程序的结果是()。

main(){ int x=1;while(x<20){ x=x*x;x=x+1; }printf("%d",x); }A.1B.20C.25D.2611.运行如下程序,其结果为()。

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语言程序设计试卷及答案(A)

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

《C语言程序设计》2013至2014 学年度第 1 学期期末(A)卷(考生注意:考试时间为120分钟。

答案须写在答题纸上,并注明题号,考试结束后将试卷连同答题纸一齐交)一、单项选择题(每小题2分,共40分)1.在一个C语言程序中,有并且只能有一个( )函数。

A. main函数B.自定义函数C.外部函数D.内部函数2.一个C语言程序,总是从()函数开始执行。

A. main函数B.自定义函数C.外部函数D.内部函数3.下列标识符中,不能用作变量名的是( )。

A. _1234_B. _1_2C. int_2_D. 2_int_4.下列字符常量不合法的是( )。

A. ‘2’B. ‘\t’C. ‘ab’D. ‘ \n’5.执行以下语句后的输出结果为( )。

int x; float y; y=3.6; x=(int)y+10; printf(“x=%d,y=%f”,x,y);A. x=13.6,y=3.600000B. x=13,y=3.600000C. x=13,y=3D. x=13,y=3.66.以下哪种变量类型在C语言中不存在( )。

A. 整型变量B.实型变量C. 字符串变量D.字符变量7.设m=10,n=4,则赋值运算m%=n+1执行后m的值是( )。

A. 1B. 2C. 3D. 08.下面语句执行后输出结果为( )。

int x=10,y=3,z; printf(“%d\n”,z=(x%y,x/y));}A. 0B.1C. 3D. 49. 下面语句执行后输出结果为( )。

int x=10,y=10,z=10; printf(“%d,%d,%d ”,x++,--y,++z);}A. 10,10,10B. 10,9,11C. 9,10,11D. 11,10,910.以下选项中不是C语句的是( )。

A. {int i; i++; printf("%d\n", i); }B. ;C. a=5,c=10D. { ; }11.以下程序的输出结果是( )。

2013 c语言试题及答案

2013 c语言试题及答案

理论考试(120分钟)一、单项选择题(在每小题的4个备选答案中,选出一个最佳答案,共15小题;每小题2分,共30分)1.一个C程序的执行是从( A)A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.已知int x=10,y=20,z=30; 以下语句执行后x,y,z的值是( B) if (x>y) z=x; x=y;y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20 3.int a=1,b=2,x=3; 表达式:x*=a+b计算后x的值为:( B )A. 5B. 9C. 3D. 64.下列选项,在C语言中能作为合法标识符的是( D)A. %xB. a+bC. 2_int_12_D. int_2_5.#include<stdio.h> (A)void main(){int sum,pad;sum=pad=5;pad=sum++;pad++;++pad;printf("%d %d\n",pad, sum);}A.7 6B. 6 5C. 7 5D. 6 6 6.若有说明:int a[10];则对a 数组元素的正确引用是( D )A. a[10]B. a[3, 5]C. a(5)D. a[10-10] 7.请读程序#include<stdio.h>#define MUL(x,y) (x)*yvoid main(){ int a=3, b=4, c;c=MUL(a++, b++);printf("%d\n", c);}上面程序的输出结果是(A)。

A. 12B. 15C. 20D. 168.若用数组名作为函数调用的实参,传递给形参的是数组的( A )A. 数组的首地址B. 数组第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9.阅读以下程序void main(){ int a=5,b=0,c=1;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}以上程序( C)A. 语法有错不能通过编译B. 可以通过编译但不能通过连接C. 输出***D. 输出$$$10.下列关于函数定义正确的是( D )A. fun(int x,y){ int z;return z;}B. void fun(int x,int y){ return x+y;}C. fun(x,y){int x,y;double z;z=x+y;return z;}D. double fun(int x,int y) { double z;z=x+y;return z;}11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B )A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传回实参D. 传递方式由用户指定12.具有相同基类型的指针变量P和数组Y,下列写法中不合法的是( D ) A.P = Y B.*P = Y[i]C.P = &Y[i] D.P = &Y13.设x和y均为int型变量,则下列语句:x+=y; y=x-y; x- =y;的功能是(D ) A.把x和y按从大到小排列。

C语言练习题填空题3

C语言练习题填空题3
char c;
gats(str);
for(I=0;(【2】)!=’\0’;I++)
if(c==’ ’)word=0;
else if(【3】)
{word=1;
(【4】)}
printf(“There are %d word in line. \n”,num);
}
20.
已知:int *p,a;则语句p=&a;中的运算符&的含义是。
4
15
数据类型、运算符与表达式
07
1
8
结构体与共用体
08
2
9
指针
09
1
6
最简单的C程序设计——顺序程序设计
10
1
5
选择结构程序设计
11
2
5
C语言概述
19
1
2
定义编译预处理
23
1
6
逻辑运算与判断取控制
25
3
10
综合练习
难度编码
题量
分值
难度说明
1
8
33

2
10
57

3
3
10

题型编码
题量
分值
题型说明
02
11.*(pa+i),avg/n
12.hELLO!
13.跳过对应的输入数据。
当输入以下数据时:10□□20□□30□□40<回车>
将把10赋给a1,跳过20,把30赋给a2,把40赋给a3
14.passwarm在case 'c'与case'd'后边没有跟break语句
15.scanf printf

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

厦门理工学院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语言2013-2014学年第一学期期末试卷解析

C语言2013-2014学年第一学期期末试卷解析

江苏大学试题(2013-2014学年第1学期)注意事项:1. 闭卷考试。

考试时间为120分钟。

2.选择题请用2B铅笔涂在答题卡上。

其余用签字笔或圆珠笔填写在答题纸上。

3.请将答题卡(提前15分钟收取)、答题纸、试卷分别都写上班级、学号、姓名、任课教师。

一、选择题(50分,每小题1分)1.标准C语言程序的文件名的后缀是。

A. .cppB. .cC. .exeD. .obj2.以下叙述正确的是_______。

A.C语言程序是由过程和函数组成的B.C语言函数可以嵌套调用,例如:fun(fun(x))(不可嵌套定义)C.C语言函数不可以单独编译(可以单独编译)D.C语言中除了main函数,其他函数不可作为单独文件形式存在3.下列可用于C语言用户标识符的一组是_______。

A.void, define, WORD B.a3_3,_123,CarC.For, -abc, IF Case D.2a, DO, sizeof(合法字符数字,下划线,字母,以下划线或字母开头,但不能是C语言关键字)4.以下选项中不能用作C程序合法常量的是_________ 。

A.1,234 B.'\123'C.123 D."\x7G"(合法常量: 整型常量,符号常量,实型常量,字符常量,转义字符,字符串常量)5.以下定义语句中正确的是_______。

A.int a=b=0; (初始化不允许连等)B.long a=65; b;C.float a=1 ; D.double a=0.0;b=1.1;6.以下叙述中正确的是______。

A. 在C程序中无论是整数还是实数,只要在允许范围内都能准确无误的表示B. 在C程序中只要是整数在允许范围内都能准确无误的表示C. 在C程序中只要是实数在允许范围内都能准确无误的表示D. 在C程序中无论是整数还是实数,都无法准确无误的表示7.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是______。

2013年c语言期末考试试题及答案

2013年c语言期末考试试题及答案

2013年c语言期末考试试题及答案在2013年的C语言期末考试中,试题涵盖了C语言的基础知识、数据类型、控制结构、函数、数组、指针、结构体、文件操作等多个方面。

以下是部分试题及其答案,供参考:1. 请写出C语言中的基本数据类型,并说明它们各自的特点。

C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)。

整型用于存储整数,字符型用于存储单个字符,浮点型用于存储小数。

它们的特点分别是:整型占用的存储空间较小,但只能表示整数;字符型占用的存储空间最小,但只能表示单个字符;浮点型可以表示小数,但占用的存储空间较大。

2. 请写出C语言中的控制结构,并说明它们的功能。

C语言中的控制结构包括顺序结构、选择结构和循环结构。

顺序结构是按照代码的顺序依次执行;选择结构是根据条件判断执行不同的代码块,如if语句和switch语句;循环结构是重复执行某段代码,直到满足特定条件,如for循环、while循环和do-while循环。

3. 请写出C语言中函数的定义格式,并说明函数的作用。

函数的定义格式为:返回值类型函数名(参数列表){函数体}。

函数的作用是将一段代码封装成一个独立的模块,可以重复调用,提高代码的复用性和可读性。

4. 请写出C语言中数组的定义格式,并说明数组的特点。

数组的定义格式为:数据类型数组名[数组大小]。

数组的特点是可以存储多个相同类型的数据,并且可以通过下标访问和修改数组中的元素。

5. 请写出C语言中指针的定义格式,并说明指针的作用。

指针的定义格式为:*指针名 = &变量名。

指针的作用是存储变量的内存地址,可以通过指针间接访问和修改变量的值。

6. 请写出C语言中结构体的定义格式,并说明结构体的作用。

结构体的定义格式为:struct 结构体名 {成员列表};结构体变量名 = {成员1, 成员2, ...}。

结构体的作用是将多个不同类型的数据组合成一个整体,方便管理和使用。

C语言试卷A(2013)

C语言试卷A(2013)

…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………武汉理工大学考试试卷(A卷)2012 ~2013 学年2 学期计算机程序设计基础(C语言)课程闭卷一、选择题(本题20分,每小题1分)则表达式(b=2, a=5, b++, a+b)的值是()2. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.03. 设char cl; , 则cl为小写英文字母字符的正确表达式为()A. ’a’<=c1<=’z’B. (cl>=’a’)&&(cl<=’z’)C. (cl>=a)&&(c1<=z)D. (’a’<=c1)| |(’z’>=c1)4. 一维数组a的正确说明语句为()A. int a(10);B. int n=10, a[n];C. int n;D. #define SIZE 10 //位于程序首部scanf(″%d″,&n);int a[SIZE];int a[n];5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 666. 正确的条件语句为()A. if((a=b;)>0)t=a;B. if((a=b)>0)then t=a;C. if(a>b)t=a;D. if(a<b={a++;b++});7. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和117.…………试卷装订线………………装订线内不要答题,不要填写考生信息………………试卷装订线…………。

C语言期末考试题及答案5

C语言期末考试题及答案5

13.若有定义语句:int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是()。

A)p=a B)q[i]=a[i]C)p=a[i]D)p=&a[2][1]14.有以下程序struct S{int a,b;}data[2]={10,100,20,200};main(){struct S p=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是()。

A)10B)11C)20D)2115.下列叙述中,正确的是()。

A)C 语言中的文件是流式文件,因此只能顺序存取文件中的数据B)调用fopen 函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在C)当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D)无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖二、输出结果(本题共30分)1.以下程序运行后的输出结果是()。

void main(){int a,b,c;a=25;b=025;c=0x25;printf("%d %d %d\n",a,b,c);}2.以下程序运行后的输出结果是()。

void main(){int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}3.如果输入3,9,5,则以下程序输出的结果为()。

void main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a<b ){t=a;a=b;b=t;}if(a<c )t=a;else if(b>c )t=b;else得分t=c;printf("t=%d\n",t);}4.以下程序运行后的输出结果是()。

2013年c语言试卷(带答案版)

2013年c语言试卷(带答案版)

湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用( C )作为主函数名。

A) Function B) include C) main D) stdio2.下列说法正确的是( C )。

A) 在执行C程序时不是从main 函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是( A )。

A) _HJ B) 9_student C) long D) float4.下列数据中是合法的整型常量的是( C )。

A) 3E2 B) 029 C) -32768 D) 6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( A )。

A) 9,6 B) 12,5 C) 18,6 D) 15,56.10+‟a‟+1.5-567.345/‟b‟的结果是( B )型数据。

A) long B) double C) int D) unsigned float7.在C 语言中,下列类型属于构造类型的是( D )。

A) 整型B) 指针类型C) 实型D) 结构体类型8.在C语言中,退格符是( D )。

A) \n B) \t C) \v D) \b9.下列符号中,可以作为变量名的是( C )。

A) +c B) *X C) _DAY D) next-day10.以下程序的输出结果是( B )。

void main(){ unsigned char a=2,b=4,c=5,d;d=a|b; d&=c;printf("%d\n",d); }A) 3 B) 4 C) 5 D) 611.若已知a=5,b=10,则表达式a==b的值为( D )。

2013年 c语言试卷

2013年 c语言试卷

湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用( )作为主函数名。

A) Function B) include C) main D) stdio2.下列说法正确的是( )。

A) 在执行C程序时不是从main 函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是( )。

A) _HJ B) 9_student C) long D) float4.下列数据中是合法的整型常量的是( )。

A) 3E2 B) 029 C) -32768 D) 6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( )。

A) 9,6 B) 12,5 C) 18,6 D) 15,56.10+’a’+1.5-567.345/’b’的结果是( )型数据。

A) long B) double C) int D) unsigned float7.在C 语言中,下列类型属于构造类型的是( )。

A) 整型B) 指针类型C) 实型D) 结构体类型8.在C语言中,退格符是( )。

A) \n B) \t C) \v D) \b9.下列符号中,可以作为变量名的是( )A) +c B) *X C) _DAY D) next-day10.以下程序的输出结果是( )void main(){ unsigned char a=2,b=4,c=5,d;d=a|b; d&=c;printf("%d\n",d); }A) 3 B) 4 C) 5 D) 611.若已知a=5,b=10,则表达式a==b的值为( )。

A) 10 B) 20 C) 1 D) 012.已有定义” int a=-2; ”和输出语句” printf( “%8x”, a );“,以下正确的叙述是( )。

c语言期末考试考试题及答案

c语言期末考试考试题及答案

c语言期末考试考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。

A. C语言是一种高级编程语言B. C语言具有结构化的特点C. C语言可以直接在操作系统上运行D. C语言具有跨平台的特性答案:C2. 在C语言中,用于定义整型变量的关键字是()。

A. intB. floatC. charD. double答案:A3. 下列选项中,不是C语言中的运算符的是()。

A. %B. &&C. /D. #答案:D4. C语言中,用于定义一个函数的关键字是()。

A. functionB. defC. voidD. int答案:C5. 在C语言中,以下哪个选项是正确的字符串定义方式?()A. char str[10] = "Hello";B. char str[] = "Hello";C. char str[10] = 'Hello';D. char str = "Hello";答案:B6. 下列关于C语言数组的描述中,正确的是()。

A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组可以存储字符串答案:B7. 在C语言中,用于输入输出的库函数是()。

A. math.hB. stdio.hC. string.hD. time.h答案:B8. 下列关于C语言指针的描述中,不正确的是()。

A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以存储字符串D. 指针不能直接存储字符串答案:D9. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A10. 下列关于C语言文件操作的描述中,不正确的是()。

A. 文件操作需要包含stdio.h头文件B. 文件指针用于指向文件的当前位置C. 文件操作使用fopen函数打开文件D. 文件操作使用fclose函数关闭文件答案:A二、填空题(每题3分,共30分)1. C语言中,用于定义一个常量的关键字是____。

(完整word版)C语言程序设计2013期末试题(含答案)

(完整word版)C语言程序设计2013期末试题(含答案)

已经反复修改调试过了,应该没问题了。

如果对答案有什么疑问可以直接私戳我qq553915228 李添锐一、写出下列程序段的运行结果(40分)1.(4分)int i=1, j=2, k=4;printf("%f,", i-(float)(j/k));printf("%d, ", j<3<k);k+=(i+k)/10+0.5 ;printf("%d,",k);printf("%d", (j=1)?2:0);输出:1.000000,1,(此处有空格)4,22.(4分)char a=0x12303F;printf("%d,",a);a='a'-'B'+'E';printf("%c",--a);输出:63,c3.(4分)int i = 3, j = 2;if (!i&&i--)i+=2;i++;printf("%d,", i);do{j+=i;i/=2;if(j>8) break;} while(i=3);printf("%d\n", j);输出:4,9(此处需要换行即\n)4.(4分)intp[7]={11,13,15,17,18,20,23},i=0,k=0;for (;p[i]%2;){switch(p[i]%5){case 1: k+=p[i++]; break;case 3: k+=p[i];default: i++;}}printf("%d,%d",i,k);输出:4,245.(4分)char s[]="1234", *p;for (p=s+3; p>s; p--){printf("%s,", p);}输出:4,34,234,6.(4分)int f(){static int j=1; int k=1;return ((++j)+(++k));}int main(){int i;for (i=0; i<3; i++)printf("%d,", f());return 0;}输出:4,5,6,7.(4分)void fun(int i){if (i){fun(i-3);printf("%d,",i);}}int main(){fun(9);return 0;}输出:3,6,9,8.(4分)union{struct { int a,b,c; } s;int a[3];}u;int main(){u.s.a=0; u.s.b=1; u.s.c=2;*(u.a+1)=3; u.a[2]=4;printf("%d,%d", u.s.a, u.s.b);return 0;}输出0,39.(4分)int s[3][3]= {1,2,3,4,5,6,7,8,9}; int sum;sum = *(s[0]) + *(s[1]+1) + *(s[2]+2);printf("%d", sum);return 0;输出:1510.(4分)FILE *fp; int e; long len; char c; fp=fopen("pi.tmp","w");fputs("3.1415926", fp);fclose(fp);fp=fopen("pi.tmp","r");fscanf(fp,"%d%c",&e,&c);len=ftell(fp);fseek(fp, -1L, SEEK_END);len = ftell(fp)-len;printf("%ld",len);输出:6二、改错题(20分)已知数据文件“c:\data.dat”以二进制方式存有300个整数,函数readDat( )把这些数存入数组a中,函数fun( )的功能是:依次从数组a中取出一个数,若该数连续大于它之前的五个数且该数是偶数(若之前不满五个数,则不统计),统计满足此条件的个数cnt,并把这些数按从大到小的顺序存入数组b中。

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

1、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。

最大值第三行i<=n五行k+1 2、编写程序求无理数e的值并输出。

计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n!当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。

z=(x-4)的二次幂(x>4)z=x的八次幂(x>-4)z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他)6、求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

例如:输入的数组为:1 2 34 15 612 18 910 11 2求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n位自然数的各位数字的积。

(n 是小于10的自然数)8、计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

12、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。

13、编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。

计算公式是:组合数=m!/(n!.(m-n)!)。

要求:m不能小于n,否则应有容错处理。

说明:函数fact(x)的功能是求x!。

14、找出一批正整数中的最大的偶数。

15、实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:a=65 b=6016、将字符串中的小写字母转换为对应的大写字母,其它字符不变。

17、求一个四位数的各位数字的立方和。

18、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

19、对任意输入的x,用下式计算并输出y 的值。

5 x<10y= 0 x=10-5 x>1020、求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。

21、判断整数x是否是同构数。

若是同构数,函数返回1;否则返回0。

x的值由主函数从键盘读入,要求不大于100。

22、用函数求N个[10,60]上的整数中能被5整除的最大的数,存在则返回这个最大值,如果不存在则返回0。

23、编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字。

例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。

24、编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。

例如:原来存顺序为8,6,5,4,1。

要求改为:1,4,5,6,8。

25、对长度为8个字符的字符串,将8个字符按降序排列。

例如:原来的字符串为CEAedcab,排序后输出为edcbaECA26、根据整型参数n,计算如图公式的值。

27、键盘上输入一个3行3列矩阵的各个元素的值(为整数)然后输出主对角线元素的积,并在fun()函数中输出。

28、编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str[0]代表字符串的第一个字符)。

29、统计出若干个学生的平均成绩,最高分以及得最高分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。

30、编写程序,实现矩阵(3行3列)的转置(即行列互换)31、用函数实现字符串的复制, 不允许用strcpy()函数。

32、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。

请编写fun函数。

33、用do-while语句求1~100的累计和34、编写函数求1~100中奇数的平方和。

结果为16665035、计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50。

36、求1到100之间的偶数之积37、编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m38、产生20个[30,120]上的随机整数放入二维数组a[5][4]中, 求其中的最小值。

39、能计算从1开始到n的自然数的和,n由键盘输入,并在main()函数中输出。

当N为偶第三行i=2i=i+2第四行i*i41、计算出k以内最大的10个能被13或17整除的自然数之和。

(k〈3000)42、判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。

43、从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:7531。

如果为642,在第二行加,s/=10;44、求大于lim(lim小于100的整数)并且小于100的所有素数并放在aa数组中,该函数返回所求出素数的个数。

45、求一批数中最大值和最小值的差如为积将-改*46、求出菲波那契数列的前一项与后一项之比的极限的近似值。

例如:当误差为0.0001时,函数值为0.618056。

47、将两个两位数的正整数a、b合并形成一个整数放在c 中。

合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上, b数的十位和个位数依次放在c数的十位和千位上。

例如:当a=45,b=12,调用该函数后,c=2514。

答案;48、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。

调用该函数找出100~200之间满足条件的所有数。

49、判断m是否为素数50、给定n个数据, 求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。

51、求出二维数组周边元素之和,作为函数值返回。

二维数组的值在主函数中赋予。

52、编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。

53、编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。

调用该函数求出15~300之间能同时被3和5整除的数的个数。

54、编写函数fun,求任一整数m的n次方55、从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。

例如:7是素数,8不是素数。

请编写fun函数。

素数是仅能被1和自身整除的数56、用辗转相除法求两个整数的最大公约数57、求一批数中小于平均值的数的个数58、编写函数用选择排序法对数组中的数据进行从小到大的排序。

59、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。

60、将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用’.’结束输入61、编写函数fun求1!+2!+3!+ ……+n!的和,在main函数中由键盘输入n值,并输出运算结果。

请编写fun函数。

例如:若n值为5,则结果为15362、根据整型形参m,计算如下公式的值:y=sin(m)*10。

例如:若m=9,则应输出:4.12118563、求一个大于10的n位整数的后n-1位的数,并作为函数值返回。

64、求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。

65、求给定正整数n以内的素数之积。

(n<28)66、求一个给定字符串中的字母的个数。

68、编写程序, 求矩阵(3行3列)与2的乘积例如:输入下面的矩阵:100 200 300400 500 600700 800 900程序输出:200 400 600 800 1000 1200 1400 1600 180069、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。

70、编写函数fun计算下列分段函数的值:x^2+x+6 x<0且x≠-3f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3x^2-x-1 其它71、用函数将第2个串连接到第1个串之后,不允许使用strcat函数。

72、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

73、编写函数用冒泡排序法对数组中的数据进行从小到大的排序。

74、将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

例如:当a=45,b=12。

调用该函数后,c=4251。

75、对某一正数的值保留2位小数,并对第三位进行四舍五入。

79、找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。

80、用函数求fibonacci数列前n项的和。

说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。

例如:当n=28时,运行结果:83203981、删除所有值为y的元素。

数组元素中的值和y的值由主函数通过键盘输入82功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。

说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和例如:求前20项之和的值为32.660259。

int i;float f1=1,f2=1,f3,s=0;for(i=1;i<=n;i++){f3=f1+f2;f1=f2;f2=f3;s=s=f2/f1;}return s;83功能:从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)答案:double z;If(x>10)z=log(x+3)else if(x > -3)z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);84题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。

int I,j,k=0;for(i=0;i<N;i++)for(j=N-1-I;j<N;j++)k=k+a[i][j];return(k);85功能:用函数实现字符串的复制, 不允许用strcpy()函数。

相关文档
最新文档