云南师范大学2009~2010年C语言期末试题A
大学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语言程序设计参考答案及评分标准
2010—2011学年度第一学期期末考试《C语言程序设计》试题( A卷)参考答案及评分标准(使用班级:11)制卷刘刚审核一、选择题(15分,1分/题)1. C2. B3. C4. C5. D6. A7. B8. C9. C10. B11. D12. C13. D14. C15. C二、判断题(10分,1分/题)1. ×2. ⨯3. √4. ×5. √6. √7. √8. √9. ×10. √三、填空题(10分,2分/题)1. 1111 1111 1111 10002. 0,13. 取变量的地址取地址中的值4. 45. 打开文本文件追加四、程序阅读(30分,5分/题)1. s=302. 10 %d &a[i]i % 4 printf(“\r\n”)3. 程序功能:从键盘输入一长度不大于100的字串,将该字串逆序存放后输出。
4. 程序运行结果:165. abcDefghi6. 程序运行结果:x begins as 1add 1 to make 2substract 1 to make 1substract 1 to make 0add 1 to make 1add 1 to make 2x winds up as 2五、程序设计题(15分,5分/题)1. #include "stdio.h"main(){int a, b, c, d ;printf ( "Please input a,b\n");scanf ( "%d, %d ", &a, &b);c=a*a+b*b;if ( c>100 ){d=c/100;printf("%d→%d\n", c, d);}elseprintf (" a+b=%d\n", a+b);}2. #include "stdio.h"void necryption_de(char *,int);main(){char str[100];int pw=23;printf("Please input a string(Str_length<100): ");gets(str);necryption_de(str,pw); /*necryption*/printf("%s\r\n",str);necryption_de(str,pw); /*decrypt*/printf("%s\r\n",str);}void necryption_de(char *str,int pw){ /*necryption and decrypt*/ while (*str!='\0')*str++^=pw;}3. #include <stdio.h>#include <string.h>main(){char s1[101],s2[51];int i,n1,n2;printf(“Please input string1: ”);gets(s1);printf(“Please input string2: ”);gets(s2);n1=strlen(s1);n2=strlen(s2);for (i=0;i<n2;i++)s1[i+n1]=s2[i];s2[n1+n2]=’\0’;printf(“%s\r\n”,s2);}六、综合与创新能力测试题(20分,10分/题)1. #include <stdio.h>int age(int);main(){int n=5,m;m=age(n);printf(“%d\r\n”,m);}int age(int n){int c;if(n==1) c=10;else c=age(n-1)+2;return(c);}2. #include "math.h"main(){int i,j,k,c;for(i=1;i<=9;i++) /* i:车号前二位的取值*/for(j=0;j<=9;j++) /* j:车号后二位的取值*/if( i!=j ){ /* 判断两位数字是否相异*/k=i*1000+i*100+j*10+j; /* 计算出可能的整数*/for( c=31;c*c<k;c++); /* 判断该数是否为另一整数的平方*/ if(c*c==k)printf("Lorry_No. is %d .\n", k); /* 若是,打印结果*/}}。
(完整版)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;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid 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、有以下程序:#includevoid 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);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。
c语言期末考试试题及答案
(C) scanf("%s",a);
37。 函数调用“strcat(strcpy(str1,str2),str3)” 的功能是( )。
c 语言期末考试试题及答案(word 版可编辑修改)
(A)将字符串 str1 复制到字符串 str2 后再连接到字符串 str3 之后 (B)将字符串 str1 连接到字符串 str2 后再复制到字符串 str3 之后 (C)将字符串 str2 复制到字符串 str1 后再将字符串 str3 连接到 str1 之后 (D)将字符串 str2 连接到字符串 str1 后再将 str1 复制到字符串 str3 中
39. C 语言中,以下叙述中错误的是( )。 A) 主函数中定义的变量是全局变量 B) 同一程序中,全局变量和局部变量可以同名 C) 全局变量的作用域从定义处开始到本源程序文件结束 D) 局部变量的作用域被限定在其所定义的局部范围中
40。 C 语言中,函数调用时若实参是数组名,则被调函数对应形参( ). A) 可以是相应类型简单变量 B) 必须是相应类型数组名 C) 可以是相应类型数组名 D) 必须是相应类型的指针变量
32。 有如下程序 main( ) { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++; case 2: a++;b++; }
c 语言期末考试试题及答案(word 版可编辑修改)
printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是 ( ) A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
7。 在下列选项中,不的赋值语句是( )。
云南师范大学C语言期末试题1
云南师范大学C语言期末试题1云南师范大学2009-2010学年下学期统一考试《计算机技术基础》(C语言)期末考试试卷考试方式(闭卷)考试时量:90分钟试卷编号(A卷)一、判断题:(每题1分,共10分)1. C语言中表达式3/2得到的结果是1.5。
bA.对B.错2.在C 程序中,APH 和aph 代表不同的变量。
aA.对B.错3. c程序总是从程序的第一条语句开始执行。
bA.对B.错4.选择结构(if语句)和循环结构都可以使用嵌套形式。
aA.对B.错5.构成数组的各个元素可以有不同的数据类型。
bA.对B.错6.对于用户自己定义的函数,在使用前必须加函数声明。
A.对B.错7.C语言中数据类型只有整型、实型和字符型。
A.对B.错8.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8)。
aA.对B.错9.typedef可以定义生成新的数据类型。
bA.对B.错10. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是3。
A.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共30分)1.C语言源程序文件经过C编译后生成的目标文件的后缀名为_____BA..cB..objC..exeD..cpp2.下列不合法的用户标识符是________。
AA.4d B.j2_KEYC.Double D._8_3.以下选项中正确的定义语句是____。
cA.double a; b; B.double a=b=7;C.double a=7, b=7; D.double, a, b;4.任何一个C语言的可执行程序都是从____开始执行的。
bA.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句D.编译预处理语句5.若有定义语句: int x=10;,则表达式x-=x+x的值为 ____。
(完整版)大学C语言期末考试练习题(带详解答案)
一、单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
云南师范大学《计算机技术基础(C语言)》期末考试样卷及答案
云南师范大学2011-2012学年下学期统一考试《计算机技术基础》(C语言)期末考试样卷考试方式(闭卷机考)考试时量:100分钟试卷编号(样卷)一、判断题:(每题1分,共15分)1. 在C程序中,注释内容在编译时被忽略,因此好的C程序不需要注释。
BA.对B.错2. #define是一种特殊的C语句,在行末没有分号。
BA.对B.错3. C语言中表达式3%2是合法的表达式。
AA.对B.错4.在C程序中,赋值语句x=123和x=0123后,变量x的值是不同的。
AA.对B.错5.2&&3的结果为1。
AA.对B.错6. C程序总是从程序的第一条语句开始顺序执行。
BA.对B.错7.C语言中,函数的定义可以嵌套。
BA.对B.错8.结构体中的成员变量可以有不同的数据类型。
AA.对B.错9.出现在主调函数之前的用户自定义函数,可以不必加函数声明。
AA.对B.错10.C语言中用for循环语句实现的功能,用while循环语句不一定能实现。
BA.对B.错11.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为5的表达式是 *(P+4)。
AA.对B.错12.字符串和字符数组都要求其最后一个字符为’\0’。
BA.对B.错13.合理使用共用体可以节省内存空间。
AA.对B.错14. 函数是C程序的基本单位。
AA.对B.错15. 全局变量在程序中的任何地方都有效。
BA.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共40分)1、下面叙述错误的是____。
DA. C程序中,各种括号应成对出现B. C程序中,赋值号的左边不可以是表达式C. C程序中,变量名的大小写是有区别的D. C程序中,若未给变量赋初值,则变量的初值自动为02.有宏定义:#define E 2.718则编译预处理时将E替换成一个____。
DA.单精度常量B.单精度变量C.双精度变量D.字符串3、C程序中,合法的关键字是____。
C语言期末考试试题及详细答案
选择练习题1、C语言中最简单的数据类型包括(B )。
A、整型,实型,逻辑型B、整型,实型,字符型D、整型,实型,逻辑型,字符型C、整型,字符型,逻辑型2、C语言中,运算对象必须是整型数的运算符是(A )。
A、%B、/C、%和/D、*3、为表示关系x<y<z,应使用C语言表达式(A)。
A、(x<y)&&(y<z)B、(x<y)AND(y<z)C、(x<y<z)D、(x<y) &(y<z)4、C语言程序的基本单位是( C )。
A、程序行B、语句C、函数D、字符5、C语言的程序一行写不下时,可以(D )。
A、用逗号换行B、用分号换行C、用回车符换行D、在任意一空格处换行)是合法的用户标识符。
C6、下述标识符中,(标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线ab* D、B、void C、_student A、A&B7、在C语言中,字符型数据在内存中以( B )形式存放。
A、补码B、ASCII码C、反码D、原码8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为(B )。
A、autoB、externC、staticD、Registerauto自动变量9、以下关于switch语句和break语句的描述中,只有(B)是正确的。
register寄存器变量extern 外部变量A、在switch语句中必须使用break语句static静态变量B、在switch语句中,可以根据需要使用或不使用break语句C、break语句只能用于switch语句中D、break语句是switch语句的一部分10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。
A、地址传递B、值传递C、由实参传给形参,并由形参传回给实参D、由用户指定传递方式11、下述C语言转义符中(D )是非法的。
A、'\b'B、'\037'C、'\0xf 'D、'\''12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是(D)。
大学C语言期末考试试题及答案
大学C语言期末考试试题一选择题(7分,每小题0.5分)1.C语言源程序的基本单位是( )。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是().main( ){int a=7,b=5;printf(”%d\n",b=b/a);}A 5B 1C 0 D不确定值3。
假设变量a,b均为整型,表达式(a=5,b=2,a〉b?a++:b++,a+b)的值是( )。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125。
534;a=(int)125。
521%4;a=5<〈2;A 125,31,1B 125,1,20C 125,31,20D 125。
534,2,205.设有如下程序段,下面描述中正确的是( )。
int k=10;while(k=0)k=k-1;A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6。
以下程序的输出结果为()。
int i;void prt(){ for(i=5;i〈8;i++) printf(”%c”,'*’);printf(”\t");}main(){for(i=5;i<=8;i++) prt( );}A ***B *** *** ******C ******D ** *7.在C语言程序中,以下说法正确的是()。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8.以下函数调用语句中含有()个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9.以下程序的输出结果为()。
#define ADD(x) x*xmain(){int a=4,b=6,c=7,d=ADD(a+b)*c;printf(”d=%d”,d);}A d=70B d=80C d=140D d=70010。
云南师范大学c语言期末试题2
云南师范大学2009-2010学年下学期统一考试《计算机技术基础》(C语言)期末考试试卷考试方式(闭卷)考试时量:90分钟试卷编号(B卷)一、判断题:(每题1分,共10分)1. C语言中表达式3/2得到的结果是1.5。
A.对B.错2.语句是C程序的基本构成单位。
A.对B.错3.在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。
A.对B.错4.数组名代表数组的首地址。
A.对B.错5.循环结构中的break语句是使整个循环终止执行。
A.对B.错6.字符数组可以存放字符串,因此字符数组就是字符串。
BA.对B.错7.在if语句中,不可以没有else子句。
A.对B.错8.在程序中凡是以“#”号开始的语句行都是预处理命令行。
AA.对B.错9.设有数组定义: char a[ ]="hi!"; 则数组a所占的空间为3。
A.对B.错10. 宏定义中的宏名必须是大写字母。
bA.对B.错二、单选题(每一小题的被选答案中只有一个正确答案,每题1分,共 30分)1.C语言规定,必须用作为主函数名。
BA.Function B.main C.include D.stdio2.以下叙述中正确的是____。
CA .C 程序的基本组成单位是语句B .C 程序中的每一行只能写一条语句C .简单C 语句必须以分号结束D .C 语句必须在一行内写完3.下列正确的标识符是____。
CA .%yB .6aC ._doD .a+b4.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组: 。
AA .整型 实型 字符型B .整型 数组 指针C .数组 结构体 共用体D .指针 逻辑型 空类型 5.C 语言中不能用来表示整常数的进制是 。
D )A .十进制B .十六进制C .八进制D .二进制6.表达式:(int)((double)9/2)-(9)%2的值是 。
BA .0B .3C .4D .57.C 语言中,运算对象必须是整型数的运算符是 。
C语言期末考试试题及其答案
C语言期末考试试题及其答案------------------------------------------作者------------------------------------------日期、以下不是 语言的特点的是 ☎ ✆✌、 语言简洁、紧凑、 能够编制出功能复杂的程序、 语言可以直接对硬件进行操作、 语言移植性好、以下不正确的 语言标识符是 ☎ ✆✌、 ✌ 、 ♋♌♍ 、 ♋♉♌♍ 、 ♋♌♍、一个 语言程序是由 ☎ ✆✌、 一个主程序和若干子程序组成、 函数组成、 若干过程组成、 若干子程序组成、一个算法应该具有❽确定性❾等 个特性,对另外 个特性的描述中错误的是 ☎ ✆✌、 有零个或多个输入、 有零个或多个输出、 有穷性、 可行性、 设变量♋是整型,♐是实型,♓是双精度型,则表达式 ❻♋❼♓✉♐值的数据类型为 ☎ ✆✌、 ♓⏹♦ 、 ♐●☐♋♦ 、 ♎☐◆♌●♏ 、 不确定、在 语言中,♍♒♋❒型数据在内存中的存储形式是 ☎ ✆✌、 补码 、反码 、源码 、✌✋✋码、有如下程序,输入数据: <♍>后( 表示回车),⌧的值是 ☎ ✆ 。
✁♓⏹♍●◆♎♏♦♦♎♓☐♒❍♋♓⏹☎✆♓⏹♦ ⌧♐●☐♋♦ ⍓♦♍♋⏹♐☎✂♎♐✂⌧⍓✆❝✌、 、 、 、 、若有以下定义♓⏹♦ ♋♌ ♐●☐♋♦ ⌧,则正确的赋值语句是 ☎ ✆✌、 ♋♌、 ♌、 ♋♌、 ♌♓⏹♦☎⌧✆、以下程序的执行结果是 ☎ ✆✁♓⏹♍●◆♎♏♦♦♎♓☐♒♓⏹♦ ♓☐❒♓⏹♦♐☎✂♎♎⏹✂♓✆❝✌、 、 、 、 、巳知字母✌的✌✋✋码是 ,以下程序的执行结果是 ☎ ✆✁♓⏹♍●◆♎♏♦♦♎♓☐♒❍♋♓⏹☎✆☐❒♓⏹♦♐☎✂♎♎⏹✂♍♍✆✌、 ✌✡ 、 、 、 、下列运算符中优先级最高的是 ☎ ✆✌、 < 、 十 、 、 ✐=、设⌧、⍓和 是♓⏹♦型变量,且⌧= ,⍓= , = ,则下面表达式中值为 是 ☎ ✆ 。
2009~2010学年第二学期C语言期末考试卷答案(A卷)
2009~2010学年第二学期C语言期末考试卷答案(A卷)专业班级:学号:姓名:一、选择题(用铅笔把选中的方格涂黑20×1=20分)1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 20二、填空题(每空占一行,每行写一个答案 15×2=30分)1. 42. a<b? a:b3. pow(x+y,1.0/3)4. a-b==b-c5. a*b!=0 或 a*b6. 11,67. 27\n8. 69. 100 10. 4911. windows 9x12. 9x13. string.h14. a[k].b 或 (a+k)->b15. a、b为同类型的结构体变量三、阅读程序题(每空2分,共20分)1. 2 1 12. 3 2 13. 5 3 24. 305. 2 66. 197. 08. 79. 4 10. ga四、完善程序题(每空2分,共12分)1. ″%d%d ″,&m,&n2. gbs%n!=03. m*n/gbs4. p1->next!=NULL5. n==p1->num6. p2->next=p1->next五、编程题(第1小题9分,共18分)1.编程,输入a 1、a 2、...、a 15后,计算下列表达式的值并输出。
1111111231415++++⋅⋅⋅++a a a a a.#include <stdio.h> void main(){ float a [15],y; int i;for(i=0;i<15;i++) scanf(″%f ″,a+i);y=a [14];for(i=13;i>=0;i --) y=1+a [i ]/(1+y); printf(″%f \n ″,y); }2.把文本文件x1.dat 复制到文本文件x2.dat 中,要求仅复制x1.dat 中的非空格字符。
C语言程序设计期末考试题及答案教案资料
期末模拟考试题�一�
一�选择题�2’*25=50’ 1�十进制数 269 转换成十六进制数是 A)10E B)10D C)10C D)10B 2� 若 i,j 已定义为 int 类型�则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for(j=0;j<4;j++){...} A)20 B)25 C)24 D)30 3� 若有以下定义和语句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 则输出结果是 A) 4 B)5 C)9 D)10 4� 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示 a 数组元素的表达式是 A) *p B) a[10] C) *a D) a[p-a] 5�设有如下定义�int x=l�y=-1��则语句�printf("%d\n"�(x--&++y))�的输出结 果是 A)1 B)0 C)-1 D)2 6�当 c 的值不为 0 时�在下列选项中能正确将 c 的值赋给变量 a、b 的是 A)c=b=a� B)(a=c)‖(b=c)� C)(a=c)&&(b=c)� d)a=c=b� 7�以下程序的输出结果是 A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1 main( ) { int x=10�y=10�I� for(i=0�x8�y=++i) printf("%d�%d "�x--�y)� } 8� 下面程序的输出是 main() { char *s="121"; int k=0, a=0, b=0; do { k++; if(k%2==0) {a=a+s[k]-'0'; continue;} b=b+s[k]-'0'; a=a+s[k]-'0'; }while (s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); }
C语言程序设计期末测试题及答案(5套)
大学题库C语言程序设计期末模拟测试题及答案 2010年11月目 录期末模拟考试题(一) (3)期末模拟测试题(一)参考答案 (10)期末模拟考试题(二) (11)期末模拟测试题(二)参考答案 (18)期末模拟考试题(三) (19)期末模拟测试题(三)参考答案 (26)期末模拟考试题(四) (27)期末模拟测试题(四)参考答案 (34)期末模拟考试题(五) (35)期末模拟测试题(五)参考答案 (49)期末模拟考试题(一)一.选择题:2’*25=50’1.十进制数269转换成十六进制数是A)10E B)10D C)10C D)10B2. 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)25 C)24 D)303. 若有以下定义和语句:char *s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A) 4 B)5 C)9 D)104. 若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A) *p B) a[10] C) *a D) a[p-a]5.设有如下定义:int x=l,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是A)1 B)0 C)-1 D)26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a; B)(a=c)‖(b=c);C)(a=c)&&(b=c); d)a=c=b;7.以下程序的输出结果是A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1main( ){ int x=10,y=10,I;for(i=0;x8;y=++i)printf("%d,%d ",x--,y);}8. 下面程序的输出是main(){ char *s="121";int k=0, a=0, b=0;do { k++;if(k%2==0) {a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);}A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=39.下面程序的输出是main(){ unsigned a=32768;printf("a=%d\n",a);}A)a=32768 B)a=32767 C)a=-32767 D)a=-110. 若有以下定义:float x;int a,b;则正确的switch 语句是A)switch(x) B)switch(x){ case1.0:printf("*\n"); { case1,2:printf("*\n");case2.0:printf("**\n"); case3:printf("**\n");} }C)switch (a+b) D)switch (a+b);{ case 1:printf("\n"); { case 1:printf(."*\n");case 1+2:printf("**\n"); case 2:printf("**\n");} } 11.以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A) 8 B)7 C)6 D)5# include# includefuch (char str [ ] ){ int num =0;while (*(str +num )!='\0') num ++;return(num );}main(){ char str [10],*p=str ;gets(p);printf("%d\n",func(p));}12.运行以下程序后,如果从键盘上输入china#,则输出结果为A) 2,0 B)5,0 C) 5,5 D)2,5# includemain( ){ int v1=0,v2=0;char ch ;while ((ch=getchar())!='#')switch (ch ){ case 'a':case 'h':default: v1++;case '0':v2++;}printf("%d,%d\n",v1,v2);13.以下程序运行后,输出结果是A) 49.5 B) 9.5 C)22.0 D)45.0# include# define PT 5.5# difine s(x) pt*x*xmain(){ int a=1,b=2;printf ("%4.lf/n",S(a+b));} 14.以下程序执行后a的值是A)4 B)1 C)0 D)运行时出错,a无定值main(){ int a,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);} 15.以下程序运行后,输出结果是A)84 B)99 C)95 D)44int d=1l ;fun (int p){ int d=5;d+=p++;printf("%d",d);}main(){ itn a=3;fun(a);d+=a++;printf("%d\n",d);} 16.下面程序的运行结果是:# include <stdio.h>main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A) x=4 B)x=8 C)x=6 D)x=1217.以下程序运行后,输出结果是A) 1 B) 7 C)9 D)11fut (int **s,int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11},*p;p=(int *)malloc(sizeof(int))lfut (&p,a);printf("%d\n",*p);}18.设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B)2 C)3 D)019.请读程序:# define LETTER 0main(){ char str[20]=”C Language”,c;int i;i=0;While((c=str[i])!=’\0’{ i++;# if LETTERif(c>=’a’&&c<=’z’)c=c-32;# elseif(c>=’A’&&c<=’Z’)c=c+32;# endifprintf(“%c”,c);}上面程序的运行结果是:A) C Language B) c languageC) C LANGUAGE D) c lANGUAGE20. 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}21. 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }22. 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}23.若有以下说明和语句:struct student{ int age;int num;} std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是:A) std.age B) p->age C) (*p).age D) *p.age24.以下程序的输出结果是:struct stu{ int x;int *y;} *p;int dt[4]={ 10,20,30,40};struct stu a[4]={ 50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]}; main(){ p=a;printf(“%d,”,++p->x);printf(“%d,”,(++p)->x);printf(“%d\n”,++(*p->y));}A) 10,20,20 B) 50,60,21 C)51,60,21 D) 60,70,31 25.设有以下语句:char x=3,y=6,z;z=x^y<<2;则z的二进制值是:A)00010100 B)00011011 C)00011100 D)00011000二.判断题:1’*10=10’1.C语言规定在一个源程序中,main函数的位置必须在系统调用的库函数的后面。
2010年20套大学计算机C语言期末考试复习试题及答案
一、判断共10题(共计10分)第1题(1.0分)题号:1488函数即可以嵌套定义,又可以嵌套调用.答案:N第2题(1.0分)题号:1256unsigned 和void 在C中都是保留字.答案:Y第3题(1.0分)题号:1280表达式++i表示对变量i自加1.答案:Y第4题(1.0分)题号:1282C语言源程序的基本结构单位是main函数.答案:N第5题(1.0分)题号:1276字符常量的长度肯定为1.答案:Y第6题(1.0分)题号:1469char a[]={'a','b','c'};char b[]={"abc"};数组a和数组b占用的内存空间大小不一样.答案:Y第7题(1.0分)题号:1249若有int i=10,j=2; 则执行完i*=j+8;后i的值为28.答案:N第8题(1.0分)题号:33int i,*p=&i;是正确的C说明。
答案:Y第9题(1.0分)题号:1250While循环语句的循环体至少执行一次.答案:N第10题(1.0分)题号:1510有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0.答案:Y二、单项选择共30题(共计30分)第1题(1.0分)题号:456执行下面程序后,输出结果是()。
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:45B:27C:18 D:72答案:A第2题(1.0分)题号:437下列数组说明中,正确的是()。
A:int array[][4];B:int array[][];C:int array[][][5];D:int array[3][];答案:A第3题(1.0分)题号:2396下面有关for循环的正确描述是()A:for循环只能用于循环次数已经确定的情况B:for循环是先执行循环体语句,后判断表达式C:在for循环中,不能用break语句跳出循环体D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第4题(1.0分)题号:2817以下程序的输出结果是().main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第5题(1.0分)题号:2866若有下列定义,则对a数组元素地址的正确引用是().int a[5],*p=a;A:*(p+5)B:*p+2C:*(a+2)D:*&a[5]答案:C第6题(1.0分)题号:711下列选项中正确的语句组是()。
C语言期末考试试卷习题及答案
C语言期末考试一试卷习题及答案WORD格式C 语言期末考试一试卷(A)一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是 C 语言的特色的是( A )A、C语言简短、紧凑B、能够编制出功能复杂的程序C、C语言能够直接对硬件进行操作D、C语言移植性好2、以下不正确的 C 语言表记符是( D )A、 ABCB、abcC、a_bcD、3、一个 C 语言程序是由( B )A、一个主程序和若干子程序构成B、函数构成C、若干过程构成D、若干子程序构成4、一个算法应当拥有“确立性”等 5 个特征,对此外4个特征的描绘中错误的是( A )A、有零个或多个输入B、有零个或多个输出C语言期末考试一试卷习题及答案C、有穷性D、可行性5、设变量 a是整型,f是实型,i是双精度型,则表达式10+‘ a’ +i*f值的数据类型为( C )A、 intB、floatC、doubleD、不确立6、在 C 语言中, char型数据在内存中的储存形式是( C )专业资料整理WORD格式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、 345int a,b; float,则正确的赋值语句是8、如有以下定义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>专业资料整理WORD格式main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);、A、 A,Y B、 65,65 C、 65,90 D65,8911、以下运算符中优先级最高的是()A、<、十C 、 %D、 ! =B12、设 x 、 y和 z是 int型变量,且x=3, y = 4 , z = 5 ,则下边表达式中值为0是 ()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云南师范大学2009-2010学年下学期统一考试《计算机技术基础》(C语言)期末考试试卷考试方式(闭卷)考试时量:90分钟试卷编号(A卷)一、判断题:(每题1分,共10分)1. C语言中表达式3/2得到的结果是1.5。
bA.对B.错2.在C 程序中,APH 和aph 代表不同的变量。
aA.对B.错3. c程序总是从程序的第一条语句开始执行。
bA.对B.错4.选择结构(if语句)和循环结构都可以使用嵌套形式。
aA.对B.错5.构成数组的各个元素可以有不同的数据类型。
bA.对B.错6.对于用户自己定义的函数,在使用前必须加函数声明。
A.对B.错7.C语言中数据类型只有整型、实型和字符型。
A.对B.错8.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8)。
aA.对B.错9.typedef可以定义生成新的数据类型。
bA.对B.错10. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是3。
A.对B.错二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共30分)1.C语言源程序文件经过C编译后生成的目标文件的后缀名为 _____BA..cB..objC..exeD..cpp2.下列不合法的用户标识符是________。
AA.4d B.j2_KEYC.Double D._8_3.以下选项中正确的定义语句是____。
cA.double a; b; B.double a=b=7;C.double a=7, b=7; D.double, a, b;4.任何一个C语言的可执行程序都是从____开始执行的。
bA.程序中的第一个函数B.main( )函数的入口处C.程序中的第一条语句D.编译预处理语句5.若有定义语句: int x=10;,则表达式x-=x+x的值为 ____。
A.-20 B. 10 C. 0 D.-106.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_C_。
A.算术运算、赋值运算、关系运算B.系运算、赋值运算、算术运算C.算术运算、关系运算、赋值运算D.关系运算、算术运算、赋值运算7.在C语言中,多分支选择结构语句为:switch(c){ case 常量表达式1:语句1;……case 常量表达式n-1:语句n-1;default 语句n;}其中括号内表达式c的类型:。
cA.可以是任意类型 B.只能为整型C.可以是整型或字符型 D.可以为整型或实型8.C语言函数内定义的局部变量的隐含存储类别是____。
bA.staticB.autoC.registerD.extern9.有定义:char*p1,*p2;则下列表达式中正确合理的是____。
cA.p1/=5B.p1*=p2C.p1=&p2D.p1+=510.设变量定义为“int x, *p=&x;”,则p相当于_____。
a A.&x B.*p C.x D.*(&x) 11.以下程序的执行结果是_______。
cmain(){ int num = 0;while( num <= 2 ) { num++; printf( "%d,",num ); } } A.0,1,2B. 1,2C. 1,2,3D. 1,2,3,412.以下程序的执行结果是________。
dmain(){ int w = 1, x = 2, y = 3, z = 4;w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A.1B.2C.3D.413.C语言中while和do—while循环的主要区别是_____cA.While的循环控制条件比do—while的循环控制条件严格B.do—while允许从外部转到循环体内C.do—while的循环体至少无条件执行一次D.do—while循环体不能是复合语句14.下列说法中错误的是____。
bA.一个数组只允许存储同种类型的变量B.如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值C.数组的名称其实是数组在内存中的首地址D.当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改15.若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是____。
CA.m[--i] B.m[2*2] C.m[m[i]] D.m[m[0]]16.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
bA.float f, *pf = f;B.float f, *pf = &f;C.float *pf = &f, f;D.float f, pf;17.以下关于long、int和short类型数据占用内存大小的叙述中正确的是____。
dA.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定18.以下正确的字符常量是___。
aA.'A' B.'cd' C."\a" D.''19.如果int a=2,b=3,c=0,下列描述正确的是____。
bA.a>b!=c和a>(b!=c)的执行顺序是一样的B.!a!=(b!=c)表达式的值为1C.a||(b=c)执行后b的值为0D.a&&b>c的结果为假20.判断char型变量ch是否为大写字母的正确表达式是____。
A.’A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)C.(ch>=’A’)&&(ch<=’Z’) D.(‘A’<=ch)AND (‘Z’>=ch) 21.下面说法中错误的是____。
dA.共用体变量的地址和它各成员的地址都是同一地址B.共用体内的成员可以是结构变量,反之亦然C.在任一时刻,共用体变量的各成员只有一个有效D.函数可以返回一个共用体变量22.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是。
C A.char s[10]="abcdefg";B.char t[]="abcdefg",*s=t;C.char s[10];s="abcdefg";D.char s[10];strcpy(s,"abcdefg");23.下面叙述中正确的是___B_。
A.全局变量在定义它的文件中的任何地方都是有效的B.全局变量在程序的全部执行过程中一直占用内存单元C.同一文件中的变量不能重名D.使用全局变量有利于程序的模块化和可读性的提高24.若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入 dA.20 30,40B.20 30 40C.20,30 40D.20,30,4025.若函数的形参为一维数组,则下列说法中正确的是___ _。
dA.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数26.main(){int x=1,a=0,b=0;switch (x){ case 0: b++;case 1: a++;case 2: a++;b++;}printf(“a=%d,b=%d”,a,b);}该程序的输出结果是_____cA.1,0B.1,1C.2,1D.2,227.定义共用体的关键字是_____ aA.unionB.enumC.structD.typedef28.下列关于指针定义的描述,___________是错误的。
bA.指针是一种变量,该变量用来存放某个变量的地址值的B.指针是一种变量,该变量用来存放某个变量的值C.指针变量的类型与它所指向的变量类型一致D.指针变量的命名规则与标识符相同29.以下结构体类型说明和变量定义中正确的是。
A A.typedef struct B.struct REC;{ int n; char c;} REC; { int n; char c;};REC t1,t2; REC t1,t2;C.typedef struct REC D.struct{ int n=0; { int n; char c;} REC;char c='A'; } t1, t2; REC t1, t2;30.使用fseek函数可以实现的操作是。
AA.改变文件的位置指针的当前位置B.文件的顺序读写C.文件的随机读写D.以上都不对三、填空题:(每空2分,共20分)。
1.若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值是【1】12.C语言中一个函数由函数首部和【1】两部分组成。
3.设变量定义为“int x=3, *p=&x;”,设变量x的地址为2000,则*p=【1】,&(*p)=【2】(填数字)4.以下是对fun函数的正确调用:fun(a+b,fun(a+b,(a,b)));则fun函数有【1】个形参。
25.有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能为完全相同【1】;k=1;while(【2】){ s=s+1.0/(k*(k+1)); 【3】;}printf("s=%f\n\n",s);6.有以下程序功能是:输入一个正整数,判断其是否为素数。
请填空#include <stdio.h>void main(){int n, iprintf("请输入一个正整数:");scanf("%d", &n);for(【1】; i< n; i++)if(【2】) break;if( i< n )printf("%d不是素数\n", n);else printf("%d是素数\n", n);}四、编程题:(共40分)。