北航C语言期末模拟试题2012
2012c语言题库附答案(可编辑)
2012年C语言机房最新考试题库所属语言:C语言试卷方案:TC_1204092119试卷总分:100分共有题型:3种一、程序填空共2题(共计30分)第1题(15.0分)题号:70/*【程序填空】功能:约瑟夫环问题求解。
即有n个人围成一圈,顺序排号。
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
#include#define n 50int mainint i,k,m,n,num[n],*p;printf "please input the total of numbers %d :", n ; scanf "%d",&n ;p num;/***********SPACE***********/for i 0;【?】;i++/***********SPACE***********/ * p+i 【?】;i 0;k 0;m 0;while m n-1/***********SPACE***********/ if 【?】! 0 k++;if k 3* p+i 0;k 0;m++;i++;if i n i 0;/***********SPACE***********/ while 【?】 p++;printf "%d is left\n",*p ;return 0;答案:答案1i i答案2i+11+i答案3* p+i * i+p答案4*p 00 *p第2题(15.0分)题号:34/*【程序填空】功能:输入某年某月某日,判断这一天是这一年的第几天?#includeint mainint day,month,year,sum,leap;printf "\nplease input year,month,day\n" ;scanf "%d,%d,%d",&year,&month,&day ;switch month /*从月份得出已过多少天*/case 1:sum 0;break;case 2:sum 31;break;case 3:sum 59;break;/***********SPACE***********/ case 4:【?】;break;case 5:sum 120;break;case 6:sum 151;break;case 7:sum 181;break;case 8:sum 212;break;case 9:sum 243;break;case 10:sum 273;break;case 11:sum 304;break;case 12:sum 334;break;default:printf "data error" ;break;/***********SPACE***********/【?】;/*再加上日期数*//***********SPACE***********/if year%400 0|| year%4 0【?】 /*判断是否闰年*/ leap 1;elseleap 0;/***********SPACE***********/if leap 1【?】sum++;printf "it is the %dth day.",sum ;return 0;答案:答案1sum 90答案2sum sum+day或sum day+sum或sum+ day答案3&&year%100! 0&&0! year%100或&& year%100! 0答案4&&month 2&&2 month二、程序改错共2题(共计30分)第1题(15.0分)题号:254/*【程序改错】功能:请编写函数fun,对长度为8个字符的字符串,将8个字符按降序排列。
北航《C语言程序设计》答案
北航《C语言程序设计》在线作业一单选题判断题一、单选题(共15 道试题,共60 分。
)1. 以下叙述中正确的是A. 预处理命令行必须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C. 宏名必须用大写字母表示D. 宏替换不占用程序的运行时间正确答案:D2. 以下各选项企图说明一种新的类型名,其中正确的是A. typedef v1 int;B. typedef v2=int;C. typedef int v3;D. typedef v4: int;正确答案:C3. C语言对嵌套if语句的规定是:else总是与( )配对。
A. 其之前最近的ifB. 第一个ifC. 其之前最近且不带else的ifD. 缩进位置相同的if正确答案:C4. 已知:#define N 3; 执行语句i=N*3; 后,i=_______.A. 3B. 6C. 9D. 以上均不正确正确答案:C5. 以下选项中可作为C语言合法常量的是A. -8B. -080C. -8e1.0D. -80.0e正确答案:A6. 以下不正确的C语言标识符是_____。
A. ABCB. abcC. a_bcD. ab.c正确答案:D7. 数组int**a[3][4]占据多大空间B. 12C. 48D. 128正确答案:C8. 已知:int x,a,b;下列选项中错误的if语句是______。
()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;正确答案:B9. 下列可以正确表示字符型常数的是______。
A. "a"B. …t…C. "n"D. 297正确答案:B10. 表达式:10!=9的值是( )A. trueB. 非零值C. 0D. 1正确答案:D11. 在C语言中,形参的缺省存储类型是( )A. autoB. registerC. staticD. extern正确答案:A12. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。
2012级C语言期末考试试卷(含答案)
桂林电子科技大学信息科技学院试卷2012—2013 学年第 2 学期 课号 I04BT014 课程名称 C 语言程序设计 (A 卷;、闭卷) 适用班级(或年级、专业) 12级、全院一 单项选择题(每题2分,共40分)1 一个C 语言程序是从 B 开始执行的。
A 程序中第一个函数B 名为main 的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句2 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代式A 1/a *b*cB 1/(a*b *c)C 1/a/b/(float )cD 1。
0/a/b/c 3 已知int y,a,i=1;,则语句printf (”%d ,%d",—i++,(y=a=3.6*3));的输出结果为 A 。
A —1,10 B -2,1。
8 C 0,3 D 1,18 4 以下程序运行后的输出结果是_B __。
main(){ unsigned short a=65536; int b; printf("%d\n ”,b=a ); }A 65536B 0C 1D —15 设a 、b 和c 都是int 型变量,且a=3,b=0,c=5,则以下值为0的表达式是_C __。
A ’a'&&’b ’ B a&&b||c C a &&b &&c D a||b&&c6 以下程序运行后的输出结果是_D __。
main(){ int a=1,b=2,c=3; if (b<a )if(b<0) c=0; else c++;printf(”%d\n ",c); }A 0B 1C 2D 3abc1的表达式是__ D __。
main(){ int a=0,b=0,c=0,d=0;if(a=1) b=1,c=2;else d=3;printf("%d,%d,%d,%d\n”,a,b,c,d);}A 1,1,2,0B 0,0,0,3C 0,1,2,0D 编译有错8 以下程序的执行结果是_B__.main(){ int x=23;do{ printf(”%d",x-—); }while(!x);}A 321B 23C 不输出任何内容D 陷入死循环9 有以下程序段,输出结果是_C_。
(完整word版)C语言期末模拟试题
一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是(D)。
A. ABCB. abcC. a_bcD. ab.c2.C程序是由B构成的。
A. 主程序与子程序B. 主函数与若干子函数C. 一个主函数与一个其它函数D. 主函数与子函数3.以下说法中正确的是:A。
A. 在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D. 在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是(B)。
A. 2B. 3C. 4D. 55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。
A. 0B. 1C. 2D. 36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是(A)。
A. 自动(auto)B. 静态(static)C. 外部(extern)D. 寄存器(register)7.在while(x)语句中的x与下面条件表达式等价的是:D。
A. x= =0B. x= =1C. x!=1D. x!=08.若有以下说明和语句:struct worker{int no;char *name;}work, *p=&work;则以下引用方法不正确的是(D)。
A. work.noB. (*p).noC. p->noD. work->no9.以下对二维数组进行正确初始化的是(B)。
A.int a[2][3]={{1,2},{3,4},{5,6}};B.int a[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.int a[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:B。
A)j*m+iB)i*m+jC)i*m+j-1D) i*m+j+1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分) 1.#include<stdio.h>main(){int i=16,j,x=6;j=i+++1;x*=i=j;printf(“%d,%d\n”,j,x);}运行结果是:2.#include<stdio.h>#include<math.h>main(){int a=1,b=4,c=2;float x=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;printf(“%f\n”,z);}运行结果是:3.#include<stdio.h>main(){int a,b,c,d;a=c=0;b=1;d=20;if(a) d=d-10;else if(!b)if(!c) d=25;else d=15;printf(“d=%d\n”,d);}运行结果:4.main(){int i=10;switch(i){case 9: i+=1;case 10: i+=1;case 11: i+=1;default : i+=1;}printf(“%d”,i);}运行结果:5.#include<stdio.h>main(){int a[]={1,2,3,4},i,j,s=0;j=1;for(i=3;i>=0;i--){s=s+a[i]*j;j=j*10;}printf("s=%d\n",s);}运行结果:6.func(int x){ x=20; }main(){int x=10;func(x);printf(“%d”,x);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
北航2012年8系c语言期末考试题
生 printf ( "\nThe number of hours is %d", hrs );
printf ("\nThe number of minutes is %d", mns ); printf ( "\nThe number of seconds is %d\n", scs );
return 0; }
航int main() { int hrs = 0, mns = 0, scs = 0;
本int seconds;
printf ( "Enter a number of seconds: " );
科 scanf ( "%d", &seconds );
time(seconds, &hrs, &mns, &scs);
7. 在 switch 语句当中,如果忘记使用 break 命令,则从符合条件的 case 语句开始,
所有的 case 语句都会被执行。
8. break 语句只能用于 switch 和 while 循环当中。
9. 伪随机数并不是真正的随机数,但是对于刻划大多数的随机问题而言已经足够
A
满足要求。
10. 在 C 语言当中,函数不能被嵌套在另一个函数当中声明。
8. 下列哪个语句可以生成 1 到 N 之间的随机整数
试 A. 1+(int) rand()/N
C. (int) rand()/N
B. 1+(int) rand()%N
D. (int) rand()%N
9. 下列哪个字符串初始化语句是正确的?
A. char code[3]={„s‟,‟a‟,‟m‟,‟i‟}; B. char code[]={„s‟,‟a‟,‟m‟,‟i‟};
北航2012年C语言试题
北京航空航天大学2011-2012 学年第二学期期末《C语言程序设计》考试卷班级______________学号_________姓名______________成绩_________2012年5月29日班号学号姓名成绩《C语言程序设计》期末考试卷注意事项:1、请将所有的答案和程序写在答题纸上,写在试卷纸上不得分!2、考试时间120分钟一、单项选择题(每题2分,共40分)1、以下叙述不正确的是___A) 一个C 源程序可由一个或多个函数组成B) 在C 程序中,注释说明只能位于一条语句的后面C) 程序的基本组成单位是函数D) 一个C 源程序必须包含一个main 函数2、以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分3、以下表达式值为3的是________.A)16-13%10 B) 2+3/2 C) 14/3-2 D) (2+6)/(12-9)4、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下表达式不正确的是______.A)x%(-3) B) w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)5、有以下程序void main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}程序的输出结果是____A) 3 B) 3.2 C) 0 D) 3.076、以下程序的运行结果是________.main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B) 6,9 C) 5,10 D) 6,107、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假的表达式是______。
北航C语言期末模拟试题2012
单选题下列关于单目运算符++、--的叙述中正确的是(D)。
A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量B、它们的运算对象可以是任何变量和常量C、它们的运算对象可以是char型变量和int型变量,但不能是float型变量D、它们的运算对象可以是char型变量、int型变量和float型变量执行下列程序后,其输出结果是(D)。
main(){int a=9;a+=a-=a+a;printf("%d\n",a);}A、18B、-9C、9D、-18打印语句printf("sTUDEND\bT\rS");在屏幕上正确的输出形式是(C).A、sTUDENDSB、TUDENTSC、STUDENTD、sTUDENTS已知键盘输入a=4,b=3,下面程序输出的结果是(C).main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b) s=b;s=s*s;printf("%d\n",s);}A、9B、13C、16D、15若给定条件表达式(m)?(a++):(a--),则其中表达式m(B)。
A、和(m==0)等价B、和(m!=0)等价C、和(m==1)等价D、和(m!=1)等价执行语句 for(i=1;i++<4;); 后变量 i 的值是(B)。
A、3B、5C、4D、不定以下描述中正确的是(C)。
A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B、do-while 循环中,根据情况可以省略 whileC、在 do-while 循环体中,必须有能使循环退出的操作。
D、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号int a[10];合法的数组元素的最小下标值为(D)。
2012年7月C语言试卷A
青海大学试卷(A卷)系别:班级:学号:姓名:考试课程:程序设计基础(C)考试日期:2012 年7月06日注:所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回一.填空题(每空1分,共16分)1.整型静态数组没有初始化,也没有赋值,此时数组元素的值均为。
2.数组在内存中占的存储区,用代表其首地址。
3. 在函数内部定义的只在本函数内有效的变量叫,在函数以外定义的变量叫。
4.调用一个函数时,实参变量和形参变量之间的数据传递是;若用数组名作为实参,则实际上传递给形参的是。
5. 有这样的定义:static int a[5]={2,4,6,8,10};int *p;p=&a[0];则与p=&a[0]等价的语句,*(p+1)的值是,*(a+3)的值是。
6.有说明char s1[40],s2[20]= "you are a teacher.";如果想从键盘上把字符串"I am a student."输入到数组s1中,函数调用的语句是。
能把s2中的字符串接到s1中的字符串后面的函数调用的语句是。
7.C语言中逻辑运算符的优先级高于算术运算符。
8.在C语言中,声明枚举类型用关键字开头。
9.在C语言中,文件的存取是以为单位的,这种文件被称作文件。
二.选择题(每小题2分,共40分)1.可以在C语言中用做用户标识符的是()。
A.else B.a_b1C.for D.2cd 2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()。
A.1 B.2 C.2.0 D.2.53.以下程序的输出结果是()。
main( ){ int m=10;printf("%d,%d,%d",--m,++m,++m);}A.9,10,11 B.10,10,11 C.9,12,11 D.11,12,114.C语言中,逻辑"真"等价于()。
2012年10套大学计算机c语言期末考试复习试题及答案
二、单项选择共30题(共计30分)1.执行下面程序后,输出结果是(A)。
main(){a=45,b=27,c=0; c=max(a,b);printf("%d\n",c);}int max(x,y)int x,y;{int z;if(x>y) z=x;else z=y;return (z);}A:45 B:27 C:18 D:72第2题下列数组说明中,正确的是(A)。
A:int array[][4];B:int array[]Q;C:int array[][][5]; D:int array[3][];第3题下面有关for循环的正确描述是(D)A:for循环只能用于循环次数已经确定的情况B:for 循环是先执行循环体语句,后判断表达式C:在for循环中,不能用break语句跳出循环体D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第4题以下程序的输出结果是(D). main() {int i,j,k,a=3,b=2; i=(—a==b++)?—ai++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n'i,j,k);}A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4D:i=1,j=1,k=3第5题若有下列定义,则对a数组元素地址的正确引用是(C). int a[5],*p=a;A:*(p+5) B:*p+2 C:*(a+2) D:*&a[5]第6题下列选项中正确的语句组是(D)。
s="Beijing";第7题若变景a,i己正确定义,且i己正确赋值,合法的语句是(C)A:a=int(i); B:a==1 C:++i; D:a=a++=5;第8题以下字符中不是转义字符的是(C)。
A:\a. B:\b,C:\c,D:'\V第9题下列定义不正确的是(C)。
北京航空航天大学《C语言程序设计》试卷
北京航空航天大学《C语言程序设计》课程考试试卷注意事项: 1、本试卷满分100分;考试时间:90分钟;考试形式:开卷2、请将答案一律写在答题纸上,试卷上作答无效3、考试结束后,考生将试卷及答题纸一并交回4、请将条形码贴在答题纸的指定位置学习中心______________姓名____________学号____________一、单项选择题(本大题共10小题,每小题2分,共20分)1、设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是______。
()A.' 1' B.'3'C.'\0' D.存在语法错误2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为______。
()A.自动(auto) B.静态(static)C.外部(extern) D.寄存器(register)3、已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是______。
()A.float B.charC.int D.double4、当声明一个结构变量时,系统分配给它的内存是______。
()A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量5、C语言中的简单数据类型包括______。
()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型6、合法的数组说明语句是______。
()A.int a[]="string";B.int a[]={0,1,2,3,4,5};C.char a="string";D.char a[5]={'0','1','2','3','4','5,};7、定义int i=1;,执行语句while(i++<5);后,i的值为______。
北航软院2012年数据结构与C语言程序设计试题(原版)
北京航空航天大学2012年硕士研究生入学考试试题“数据结构与C语言程序设计”(科目代码:991)一、填空题(本题共20分,每小题各2分)1.从总体上说,“数据结构”课程主要研究三个方面的内容。
2.若对某线性表最常用的操作是在表中插入元素或者删除表中元素,则对于顺序存储结构和链式存储结构这两种存储结构而言,线性表应该采用。
3.在长度为n的非空队列中进行插入或者删除操作的时间复杂度用大O符号表示为。
4.若一棵度为4的树中度为1、2、3和4的结点个数分别为4、2、1和1,则该树中叶结点的个数为。
5.若某二叉树的中序遍历序列为B,A,F,D,G,C,E,按层次遍历序列为A,B,C,D,E,F,G,则该二叉树的后序遍历序列为。
6.将一棵结点总数为n、且具有m个叶结点的树转换为一棵二叉树以后,该二叉树中右子树为空的结点有个。
7.对于图G=(V,E) 与G^=(V^,E^),若有V^包含于V,E^包含于E,则称G^是G的。
8.在顺序表(6,15,30,37,65,68,70,72,89,99)中采用折半查找法查找元素37,与表中进行过比较的元素依次是。
9.若已知n个关键字值具有相同的散列函数值,并且采用线性探测再散列法处理冲突,那么,将这n个关键字值全部散列到初始为空的地址空间中,发生散列冲突的次数是。
10.若长度为n的序列K=(k1,k2,…,kn)当且仅当满足ki≤k2i并且ki≤k2i+1(1≤i≤n/2)时,则称该序列为一个小顶堆积(Heap)。
根据该定义,序列(26,5,77,1,61,11,59,48,15,19)对应的小顶堆积是。
二、简答题(本题共20分,每小题各5分)1.如果一个具有100个顶点、200条边的有向图采用邻接矩阵存储,该邻接矩阵是否是稀疏矩阵?为什么?(这里我们假设:当矩阵中非零元素的数目小于整个矩阵总元素的数目的5%时认为该矩阵为稀疏矩阵)2.一般情况下,建立散列表时难以避免出现散列冲突,常用处理散列冲突的方法之一是开放定址法,该方法的基本思想是什么?3.若对序列(2,12,16,88,5,10)按值从小到大进行排序,前三趟排序的结果分别为:第1趟排序的结果:(2,12,16,5,10,88)第2趟排序的结果:(2,12,5,10,16,88)第3趟排序的结果:(2,5,10,12,16,88)请问:该结果是采用了选择排序法还是采用了(起)泡排序法得到的?为什么?4.快速排序法的排序过程是递归的。
北航数据结构与程序设计真题 2012
该二叉树的后序遍历序列为 。
6.将一棵结点总数为 n、且具有 m 个叶结点的树转换为一棵二叉树以后,该二叉树中右
子树为空的结点有 个。
7 . 对 于 图 G=(V,E) 与 G´=(V´,E´) , 若 有 V´ÍV ,
E´ÍE,则称 G´是 G 的 。
8.在顺序表(6,15,30,37,65,68,70,72,89,99)中采用折半查找法查找元素 37,与表中进行过
比较的元素依次是 。
9.若已知 n 个关键字值具有相同的散列函数值,并且采用线性探测再散列法处理冲突,
那 么,将这 n 个关键字值全部散列到初始为空的地址空间中,发生散列冲突的次数
是。
s++; t++; } return ( (2) ); } 5.下列程序的功能是将已经按升序排好序的两个字符串 str1 和 str2 中的字符再按升序归 并到字符串 str3 中。请在程序的空白处填入合适的内容,使程序完整。
#include <stdio.h>
main( )
{ char str1[ ]=“acegikm”;
c2012-2013C语言公选试题(参考答案)
北京交通大学2012―2013学年第一学期期末考试试题(参考答案)课程名称:C语言程序设计出题教师:集体专业:_________ 班级:__________姓名:_________ 学号:____________答题说明:要求所有解答均写在答卷上,否则无效。
一、阅读程序写结果题(每题5分,共30分)1.执行下列程序的输出结果是【1】。
#include<stdio.h>#define PLUS(X,Y) X-Yvoid main(){ int x=5,y=8,z=4,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d\n",sum);}输出:sum=-232. 从键盘输入“446755”时,执行下面的程序后,输出为【2】。
#include<stdio.h>void main(){char c;while( (c=getchar())!=‟\n‟){switch(c-…2‟){case 0:case 1: putchar(c+4);case 2: putchar(c+4); break;case 3: putchar(c+3);default:putchar(c+2);}putchar (…\n‟);}}输出:888987873. 下面程序段的运行结果是【3】。
#include<stdio.h>void main(){ char *format="a=%d, b=%d, %s=%d \n";int a=5, b=6, c;c=a*b;printf( format , a , b, "a*b", c);}输出:a=5,b=6,a*b=304. 以下程序段的执行结果为: 【4】。
#include <stdio.h>int f1 (int a[ ], int n){ int i, sum=0;for(i=0; i<n; i++){i f(i%2==0) continue;sum += a[i];}return (sum);}void main (){ int a[5]={1,2,3,4,5}, y;y= f1 (a, 5);printf ("y=%d\n", y);}输出:y=65. 以下程序段的执行结果为: 【5】。
大学C语言期末考试练习题(带详解答案)
大学C语言期末考试练习题(带详解答案)------------------------------------------作者------------------------------------------日期一、单项选择题.( ✌ )是构成 语言程序的基本单位。
✌、函数 、过程 、子程序 、子例程. 语言程序从 开始执行。
✌✆ 程序中第一条可执行语句∙∙∙ ✆ 程序中第一个函数∙∙∙✆ 程序中的❍♋♓⏹函数∙∙∙∙∙∙∙∙∙ ✆ 包含文件中的第一个函数、以下说法中正确的是( )。
✌、 语言程序总是从第一个定义的函数开始执行、在 语言程序中,要调用的函数必须在❍♋♓⏹☎ ✆函数中定义、 语言程序总是从❍♋♓⏹☎ ✆函数开始执行、 语言程序中的❍♋♓⏹☎ ✆函数必须放在程序的开始部分下列关于 语言的说法错误的是( ) 。
✌✆ 程序的工作过程是编辑、编译、连接、运行✆ 语言不区分大小写。
✆ 程序的三种基本结构是顺序、选择、循环✆ 程序从❍♋♓⏹函数开始执行下列正确的标识符是( )。
✌♋ ♋☯♓ ♋♉♓ ♓⏹♦ ♦❞题为相同类型题考点:标识符的命名规则( )只能由字母、数字、下划线构成( )数字不能作为标识符的开头( )关键字不能作为标识符选项✌中的❽❾ ,选项 中❽☯❾与❽❾不满足( );选项 中的♓⏹♦为关键字,不满足( ).下列 语言用户标识符中合法的是( )。
✌✆♋⌧ ✆⌧ ✆♍♋♦♏ ✆♏ ☜✆◆⏹♓☐⏹选项✌中的标识符以数字开头不满足( );选项 ,☜均为为关键字,不满足( );选项 中的❽❾不满足( );.下列四组选项中,正确的 语言标识符是( )。
✌) ⌧ ) ♋♌ )♋ ) ( )、下列四组字符串中都可以用作 语言程序中的标识符的是( ✌ )。
✌、☐❒♓⏹♦ ♉♎ ♎♌ ♋♍ 、✋♋❍ ☐⏹♏♉♒♋●♐ ♦♦♋❒♦♓♦ ☐♋♓、♦♦❒♉ ☐☐ ☐☐♦ ♦♒♓●♏ 、⌧❑ ⍓♌☐☐ ●♓⏹♏✁ ☟♓♦♋♑♏选项 中的❽❾,❾❾ ,选项 中❽❾,❾✁❾,❾❾,❾❾不满足( );选项 中的♦♒♓●♏为关键字,不满足( )语言中的简单数据类型包括( )。
(word版)C语言程序设计期末考试试题(含答案),文档
语言程序设计期末考试试题及其答案一、单项选择题〔本大题共20题,每题2分,共40分〕1、以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、3、一个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(){intx;floaty;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、假设有以下定义inta,b;floatx,那么正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是()#include<stdio.h>{inti=10,j=10;printf("%d,%d\n",++i,j--); }A、11,10B、9,1C、11,9D、10,910、巳知字母A的ASCII 码是65,以下程序的执行结果是()#include<stdio.h>main(){charc1='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 是()。
2012级C语言程序设计(专科)试卷A及答案
2012级C语言程序设计(专科)试卷A及答案2012—2013学年度第二学期期末考试《C语言程序设计》试题A参考答案及评分标准2012级非计算机专业专科(理论和上机各26学时) 90分钟2013年6月一、单项选择题(每题2分,共40分)01~10 ABCDD AABCD 11~20 ABBCD ABCCD二、程序阅读填空题(共 10空,每空2分,共20分)(注意:解答本题时请一定注意输出的格式和符号,格式或符号、空格数错则在空不得分)1、8,162、1,00,13、34、15、16、137、i=00000008,j=(7个空格) 98、x=(4个空格)123.46,x=(3个空格)1.2e+029、97\b 10、x=’61’,’141’三、程序改错题(本大题共2小题,每小题5分,共10分)1、第一处:去掉while(r=m%n);后面的分号(2分)第二处:将printf("最大公约数是%d\n",m);中的m改为n(2分)找对二个错处加1分。
2、第一处:int fib(NUM)=(1,1);改为int fib[NUM]={1,1}; (2分)第二处:fib[3]=fib[2]+fib[1];改为fib[i]=fib[i-2]+fib[i-1]; (2分)找对二个错处1分四、编程题(第1小题每题12分,第2小题18分,共30分)1、程序如下:#include "stdio.h"main()int i;unsigned int n;printf("请输入想序输出的整数(负数会按无符号数转换):");scanf("%d",&n);printf("数%u的序数为:",n);while(n>0){printf("%d",n%10);n/=10;}printf("\n");}2、程序如下:#include "stdio.h"#include "math.h"main(){float x1,x2,x0;float f(float x);do{printf("请输入求值区间的上、下界(用空格分隔):");scanf("%f%f",&x1,&x2);if(f(x1)*f(x2)>0)printf("在【%f,%f】此区间内无奇数个解,请重新输入:\n",x1,x2);}while(f(x1)*f(x2)>0);dox0=(x1+x2)/2;if(f(x1)*f(x0)>0)x1=x0;elsex2=x0;}while(fabs(x1-x2)>1e-5);printf("一元方程的一个解是%f",(x1+x2)/2);}2012—2013学年度第二学期期末考试《C语言程序设计》试题(A卷)2012级非计算机专业专科(理论和上机各26学时) 90分钟2013年6月一、选择题(每空2分,共40分)1、对任何C语句必须以结束。
C语言期末考试样卷2012
C语言期末考试样卷2012南京中医药大学《C程序设计》课程试卷考试时间:120分钟姓名____________专业年级________________学号______________得分______________ *答案必须写在答题纸上,写在试卷上无效。
一、选择题1.一个C语言程序是由()。
A. 一个主程序和若干个子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2.以下结果为整数的表达式(设int I;char c;float f;)( )A.i+fB.i*cC.c+fD.i+c+f3. 指出下列程序段所表示的逻辑关系是()。
if (a<b)< p="">{if (c==d)m=1;}elsem=2;A. 1 aB. am= m=2 a≥b且c≠d 2 a≥bC. 1 aD. 1 am= m=2 a4. 若i,j已定义为int型,则以下程序段中内循环体的执行次数是()。
for(i=5;i;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.305.C语言中规定函数的返回值的类型是由()。
A. return语句中的表达式类型所决定B. 调用该函数时的主调用函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型所决定6.在宏定义#define A 3.897678中,宏名A代替一个()。
A. 单精度数B. 双精度数C. 常量D. 一串字符7.给出以下定义:char x[]=“abcdefg”;char y[]={…a?, …b?, …c?, …d?, …e?, …f?, …g?};则正确的叙述为()。
A. 数组x和数组y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度8.类型定义:char S[3]=“AB”; char *P;执行了语句P=S之后,*(P+2)的值是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "conio.h"
#include "stdio.h"
13、一个include命令只能指定1个被包含的文件。
14、若p为指针变量,a为数组名,则a-p是合法的表达式.
15、在程序中定义了一个结构体类型后,可以多次用它来定义具有
该类型的变量。
16、C语言中,关闭一个文件就删除了这个文件.
答案:对对错错错 对对对对对 错对对对对 错
三、填空
1、已知float i=5.6;int a;写出语句a=(int)i;执行后变量i的值是_____.
}
【参考答案】
void fun(char *s)
void fun(char s[])
void fun(char s[80])
2功能:读入一个整数m( 5≤m≤20 ),函数rnd获得m个随机整数,
函数sortpb将这m个随机整数从小到大排序。
例如:若输入整数7,则应输出:3 10 17 28 32 36 47。
fclose(OUT);
}
【参考代码】
int i,sum=0,k=0;
double average;
for(i=0;i<n;i++)
sum=sum+a[i];
average=sum*1.0/n;
for(i=0;i<n;i++)
if(average>a[i]) k++;
return(k);
2、功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<5;n++)
{
fscanf(IN,"%d",&i[n]);
}
o=average_num(i,5);
fprintf(OUT,"%d\n",o);
fclose(IN);
一、选择题
1、下列数据中,为字符串常量的是()。
A、'A'
B、How do you do.
C、$abc
D、"house"
2、以下所列的C语言常量中,错误的是( )。
A、0xFF
B、1.2e0.5
C、2L
D、'\72'
3、以下程序的输出结果是()。
main()
{float x=3.6;
int i;
i=(int)x;
{
/*********Begin**********/
/********** End **********/
}
main()
{
int n,a[100],i,num;
void TestFunc();
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
num=average_num(a,n);
printf("x=%f,i=%d\n",x,i);
}
A、x=3.,i=4
B、x=3 i=3.
C、x=3,i=3
D、x=3.,i=3
4、若k是整型,则以下程序段的执行结果是:( )
k=-3;
if(k<=0) printf("####")
else printf("&&&&");
A、####
B、有语法错误,无结果
char ch;
printf("原始字符串:%s\n", str);
printf("输入一个字符:");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
TestFunc();
}
【参考代码】
char *q=s;
for(; *q; q++)
if(*q != c) *(s++)=*q;
/**********ERROR**********/
void fun(char s)
{
int i,j;
for(i=0,j=0; s[i]!='\0'; i++)
if(s[i]>='0'&&s[i]<='9')
/**********ERROR**********/
s[j]=s[i];
/**********ERROR**********/
printf("the num is:%d\n",num);
TestFunc();
}
void TestFunc()
{
FILE *IN,*OUT;
int n;
int i[10];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
*s=0;
===============
五、程序改错
1、功能:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
例如:输入ab12c3d,则输出123。
注意:不得增行或删行,也不得更改程序的结构!
-------------------------------------
#include "stdio.h"
D、1,2,
8、选择正确的输入语句( )。:(其中:char string[20];)使得string的内容为"I am student".
A、scanf("%s", string);
B、scanf("%c", &string);
C、scanf("%s", &string);
D、gets(string);
s[j]="\0";
}
main()
{
char item[80];
printf("\nEnter a string: ");
gets(item);
printf("\n\nThe string is: \"%s\"\n",item);
fun(item);
printf("\n\nThe string of changing is: \"%s\"\n",item);
2、char c[6]="abcde"; printf("%3s", c)表示输出的字段的宽度,如果被输出的数据的位数大于3,
按实际位数输出.
3、条件表达式x?'a':'b'中,若x=0时,表达式的值为'a'.
4、在逻辑运算符中的运算级别由高向低依次为&&->||->!5、
5、do-while循环由do开始,while结束,循环体可能一次也不做。
/********** End **********/
}
void TestFunc()
{
FILE *IN,*OUT;
char i[200];
/*char o[200];*/
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
例如:若程序执行时输入字符串为:turbocandborlandc++
从键盘上输入字符:n,则输出后变为:turbocadbo
rladc++,如果输入的字符在字符串中不存在,则字符串照原样输出。
#include "stdio.h"
void fun(char s[],char c)
{
/*********Begin**********/
A、struct
B、int
C、union
D、go_to
11、以下叙述错误的是().
A、函数调用可以出现在一个表达式中
B、函数调用可以作为一个函数的形参
C、函数调用可以作为一个函数的实参
D、函数允许递归调用
12、若用数组名作为函数的实参,传递给形参的是()。
A、数组第一个元素的值
B、数组的首地址
C、数组元素的个数
7、设有以下结构类型说明和变量定义,则变量b在内存所占字节数是_____。
struct stud { short int age; char num[3]; float s[2]; double ave; } b,*p;
8、若有fp=fopen("a1.dat","r+")打开文件语句,这个文件的数据是以_____的形式存放在内存中,该文件的使用方式为读/_____。