C期末练习题带答案

合集下载

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。

要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。

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

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

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

C期末考试复习题(答案)

C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。

A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。

A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。

A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。

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

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

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共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是( ) 。

(完整word版)数据结构C语言版期末考试试题(有答案)

(完整word版)数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。

A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

(完整版)大学C语言期末考试练习题(带详解答案)

(完整版)大学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语言期末考试试题及答案汇总

大学C语言期末考试试题及答案汇总

1下列定义变量的语句中错误的是______.A、int _intB、double int_C、char ForD、float US$答案 D知识点常量、变量和标识符2以下不合法的用户标识符是______。

A、j2_KEYB、DoubleC、4dD、_8_答案 C知识点常量、变量和标识符3以下4组用户定义标识符中全部合法的一组是______。

A、_main enclude sinB、If —max turboC、txt REAL 3COMD、int k_2 _001 ???答案 A知识点常量、变量和标识符4以下定义语句中正确的是______。

A、char a='A’b='B';B、float a=b=10.0;(正解a=10。

0 b=10。

0)C、int a=10,*b=&a;D、float *a,b=&a;答案 C知识点常量、变量和标识符5以下不能定义为用户标识符的是______。

A、scanfB、VoidC、_3com_D、int答案 D知识点常量、变量和标识符6以下有4组用户标识符其中合法的一组是______。

A、For —sub CaseB、4d DO SizeC、f2_G3 IF abcD、WORD Void define答案 C知识点常量、变量和标识符7C语言中最简单的数据类型包括______.A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型答案 B知识点常量、变量和标识符8下列选项中合法的C语言关键字是______。

A、VARB、cherC、integerD、default答案 D知识点常量、变量和标识符9以下不能定义为用户标识符的是______。

A、MainB、_0C、_intD、sizeof答案 D知识点常量、变量和标识符10下列叙述中正确的是______。

A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型答案 D知识点常量、变量和标识符11当c的值不为0时在下列选项中能正确将c的值赋给变量a、b的是______.A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);D、a=c=b;答案 C知识点赋值表达式12以下选项中非法的表达式是______。

c语言期末测试题(附答案)

c语言期末测试题(附答案)

** 课程代码:A100002座位号:《计算机技术基础(C语言)》试卷A姓名: 学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分)1、以下关于C语言标识符的描述中,正确的是【】。

A)标识符可以由汉字组成B)标识符只能以字母开头C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。

int i,j,k;scanf(“%d,%3d%d”,&i,&j,&k);printf(“%d,%d,%d\n”,i,j,k);A)12345678 B)123,456,78 C)123,45678 D)123,*456783、判断char类型的变量c1是否为数字字符的正确表达式为【】。

A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’)4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。

A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】A. *(a[0]+2)B. a[1][3] C . a[1][0] D. *(*(a+1)+2)6、在循环语句的循环体中执行break语句,其作用是【】。

A)跳出该循环体,提前结束循环B)继续执行break语句之后的循环体各语句C)结束本次循环,进行下次循环D)终止程序运行7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。

c语言期末考试练习题1(含答案)

c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分)1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是A、externB、registerC、autoD、static2、下面4个选项中,是合法转义字符的选项是( )。

A、'\"B、'\'C、'\018'D、'\\0''\\' '\017' '\f' '\101''\n' '\''' 'xab' 'x1f'3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。

A、–10B、0abcC、0010D、0a120x8f –017 –0x11 ––011 0xc 0xf1 –0xa4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( )A、# define POWER(x) □□x * xB、# define POWER(x) □□(x) * (x)C、# define POWER(x) □□(x * x)D、# define POWER(x) □□((x) * (x))5、以下程序段( )x= –1;do{ x=x*x;} while (!x);A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6、下面程序的运行结果是( )# include <stdio.h>int 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);return 0;}A、x=4B、x=8C、x=6D、x=12二、填空题(7小题,每小题3分,共22分)1、下面程序段的运行结果是( )。

C语言期末考试试题及详细答案

C语言期末考试试题及详细答案

选择练习题1、C 语言中最简单数据类型包括( B )。

A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型 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 、在任意一空格处换行6、下述标识符中,( C )是合法用户标识符。

A 、A&B B 、void C 、_student D 、7、在C 语言中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、一个程序由若干文件组成,共用同一变量,则此变量存储类别应该为( B )。

A 、autoB 、externC 、staticD 、Register9、以下关于switch 语句和break 语句描述中,只有(B )是正确。

A 、在switch 语句中必须使用break 语句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语言期末练习题及答案2

C语言期末练习题及答案2

期末练习题2-48课时一、单选题(共20题,共30分)1. 执行下列程序后的输出结果是()int fun(int x1,int x2){ int x;x1>x2(x=3):(x=4);return(x+x1);}main(){ printf("%d\n",fun( 7,8));}(分)2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分)3. 若有以下定义和语句:double r=99,*p=&r;*p=r;则以下正确的叙述是( ) (分)A.以下两处的*p含义相同,都说明给指针变量p赋值B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元C.语句"*p=r;"把变量r的值赋给指针变量pD.语句"*p=r;"取变量r的值放回r中4. 有以下程序#define N 20fun(int A[],int n,int m){int i,j;for(i=m;i>=n;i--)A[i+1]=A[i];}main(){int i,A[N]={1,2,3,4,5,6,7,8,9,10};fun(A,2,9);for(i=0;i<5;i++)printf("%d",A[i]);}程序运行后的输出结果是()(分)5. 下面程序的输出是()main(){int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} (分)=11,k=12,k=13 =11,k=13,k=136. 以下程序段的输出为:int x=011;printf("%d\n",++x); (分)7. 执行下述程序的输出结果是()。

#include <>#include <>main(){char *p1,*p2,str[50]="ABCDEFG";p1="ABCD";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s\n",str);} (分)8. 以下语句的输出结果是()int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf("%d,%d,%d\n",a,b,c); (分),0,5 ,5,-10 ,0,5 ,0,-109. 阅读程序#include <>int funC(int B[],int n){int i,r;r=1;for (i=0;i<=n;i++)r=r*B[i];return (r);}main(){int x,A[]={2,3,4,5,6,7,8,9};x=funC(A,3);printf("%d\n",x);}执行下述程序的输出结果是()(分)10. 下列选项中,可作为C语言合法整数的是()(分)A.*&A[5]&nbsp; +2 C.*(p+5) D.*(A+2)12. 有以下程序void fun(int *a,int i,int j){int t;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){int a[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}执行后输出结果是()(分)5 4 3 2 1 3 2 1 5 65 6 1 2 3 2 3 4 5 613. 若定义如下变量和数组_________。

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)

《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。

A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。

√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

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

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

C语言程序设计期末考试试题及答案装 C. C++; D.a+b+c|2.已知int j , i=1 ;执行语句“ j=i++ ; ”后,变量i 的值是B 。

A. 1B. 2C. - 1D. -2 3. 执行下面程序:#i nclude "stdio.h" void mai n()订 {int a=1,b=2,c=3 ;c=(a+=a+2),(a=b,b+3); printf(“ %d,%d,%d ,a,b,c);丨}线则输出结果是:_A _______ 。

A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5[4.若要求在if 后一对圆括号中表示 a 不等于0的关系,则能正确表示这一关系的表达式为D 。

—A. a< >0B. !aC. a=0D. a:5. for (j=0;j<11;j++);循环结束后,j 的值是 B _________ 。

A. 12B. 11C. 10D. 96. C 语言中函数返回值的类型由 _D ___ 决定的。

[ A. return语句中的表达式类型B.调用该函数的主调函数的类型 :C.调用函数时临时决定D.定义函数时所指定的函数类型7. 下列说法中正确的是 B 。

- A 在调用用户自定义函数时,必须对其进行声明。

1B 函数可以返回一个值,也可以什么值也不返回。

:C 说明函数时,必须明确参数的类型和返回值。

D 在程序设计中空函数没有什么作用。

C 语言程序设计试题','g','s','\0'};8. 若int i=10 ;执行下列程序后,变量 i 的正确结果是_D_switch ( i ) {case 0: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default: i+=1 ;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

C语言期末复习题附答案

C语言期末复习题附答案

1、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为( A )。

A、autoB、 staticC、externD、 register2、若有定义:int *ptr[6];则标识符ptr( B )。

A、是一个指向整形变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整形元素的一维数组D、说明不合法3、结构化程序设计的基本结构主要是( D )A、分支结构、平行结构、循环结构B、分支结构、函数结构、循环结构C、平行结构、选择结构、函数结构D、顺序结构、选择结构、循环结构4、一个C程序中,主函数的个数是( B )。

A、2个B、 1个C、任意个D、 10个5、在Visual C++6、0环境下,C源程序文件名的默认后缀是( A )。

A、、cppB、、exeC、、objD、、dsp6、根据C语言的语法规则,下列( B )是用户定义的合法标识符A、elseB、ElseC、user$2D、5_object7、以下叙述中正确的是( C )。

A、break语句只能用于switch语句体中B、continue语句的作用是:使程序的执行流程跳出包含它的所有循环C、break 语句只能用在循环体内和switch语句体内D、在循环体内使用break语句和continue语句的作用相同8、若定义int x=136,y;,执行语句y=x/10%10;后y的值是( B )A、1B、3C、6D、09、下列关于C语言注释的叙述中错误的是( D )。

A、以"/*"开头并以"*/"结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理10、若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( C )。

A、 3,3B、 4,4C、 4,3D、 3,411、以下程序运行结果是( A )voidmain(){ int x=28;do{printf("%d",x--);}while(!x);}A、28B、27C、26D、012、如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(A )。

1253《C语言程序设计》电大期末试题及其答案

1253《C语言程序设计》电大期末试题及其答案

《C语言程序设计》期末综合练习题模拟试题一一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为(B)类。

A. 1B. 2C. 3D. 43.字符串"a+b=12\n"的长度为(B)。

A. 6B. 7C. 8D. 94.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。

A. forB. whileC. doD. if5.在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。

int i=0; do i++; while(i<10);A. 8B. 9C. 10D. 116.将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。

A. strlen( )B. strcpy( )C. strcat( )D. strcmp( )7.若用数组名作为函数调用的实参,传递给形参的是(A)。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8.假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大(C)个字节。

9.假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p 指向s所指向的字符串,则p应定义为(A)。

A. char *p=sB. char *p=&sC. char *p;p=*sD. char *p; p=&s10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A. gets( )B. fgets( )C. getc( )D. fgetc( )二、填空题1.执行“printf("%c",'A'+2);”语句后得到的输出结果为(C)。

大学C语言期末考试练习题(带详解答案)(1)

大学C语言期末考试练习题(带详解答案)(1)


A)\’
B)\0 C)\n
D)\\
D 基

6) 8) 设先有定义:int a=10;则表达式a+=a *=a的值为____.
数 据
A)10
B)100 C)1000
D)200
C 类
型 9) 设先有定义:int a=10;则表达式(++a)+(a- -)的值为____.

运 算
A)20
B)21 C)22


printf("x=%d,a=%d,b=%d\n",x,a,b);
运 算
}

返回目录
C
● 填空题

0 5.以下程序的执行结果是___________。
言 程
#include<stdio.h>

main( )
设 计
{

float f1,f2,f3,f4;
D)19

返回目录
C
● 单项选择题
10) 设先有定义:int y=3,x=3,z=1;则语句:
语 言
D printf(“%d %d\n”,(++x,y++),z+2); 的输出结果为____.
程 序
A)3 4
B)4 2 C)4 3
D)3 3

计 11)假定x、y、z、m均为int型变量,有如下程序段:
● 单项选择题
C
3) 某C程序由一个主函数main( )和一个自定义函数max( )组

D 成,则该程序 ____.

A)总是从max( )函数开始执行
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
};
classB:virtualpublicA{
public:
B():A(){cout<<"B\n";}
~B(){cout<<"~B\n";}
};
classC:publicvirtualA{
public:
C():A(){cout<<"C\n";}
~C(){cout<<"~C\n";}
};
classD:publicC,publicB{
public:
D():B(),C(),A(){cout<<"D\n";}
~D(){cout<<"~D\n";}
};
voidmain()
{Dd1;}
6.下列程序的输出结果是。
#include<>
classA{
public:
A(){cout<<"A\n";}
~A(){cout<<"~A\n";}
};
classB:publicA{
~D(){cout<<"~D\n";}
};
voidmain()
{Dd1;}
7.下列程序的输出结果是。
#include<>
#include<>
classB{
charstr[20];
public:
B(char*s="default"){strcpy(str,s);cout<<str<<endl;}
};
classIh1:publicvirtualB{
};
classIh3:publicIh1,publicIh2{
charstr3[20];
public:
Ih3(char*s1,char*s2,char*s3,char*s4):Ih1(s1,s2),Ih2(s1,s3)
{strcpy(str3,s4);cout<<str3<<endl;}
};
voidmaiБайду номын сангаас()
floatamount;
amount=(yuan*+jiao*+fen)/100;
returnamount;}
voidmain(){
voidprint(A*p){p->f();p->g();}
voidmain(){
Bb;
show(b);
print(&b);}
10.如下程序运行时的输出结果是。
#include<>
#include<>
classP{
public:
P(char*s){
name=newchar[strlen(s)+1];
(一)读程序题
1.类中包括其他类的对象成员,构造函数中要列出成员对象名带实参,生成该类对象时,要先调用成员对象的构造函数。如果是成员对象的缺省构造函数可以不列,但生成该类对象时,仍要先调用成员对象的缺省构造函数。
1.如下程序运行时的输出结果是1135。
#include<>
classONE
{
intc;
a3=++a1;出运算符重载函数调用形式。
classComplex{
intyuan,jiao,fen;
public:
Complex(inty=0,intj=0,intf=0){
yuan=y;jiao=j;fen=f;}
operatorfloat();
};
Complex::operatorfloat(){
#include<>
classA{
intx,n;
intmul;
public:
A(inta,intb){
x=a;
n=b;
mul=10;
}
virtualintpower(void){
mul=1;
for(inti=1;i<=n;i++)
mul*=x;
returnmul;
}
voidshow(void){
cout<<x<<'\t'<<n<<'\t'<<mul<<endl;
}
voidprint(intk){
cout<<name<<"is"<<gj*k<<endl;
}
private:
doublegj;
};
classF:publicP{
public:
F(char*s,intn):P(s){
pub=n;
}
voidprint(){
cout<<name<<"published"<<pub<<"books.\n";
voidShow(){cout<<"y="<<y<<'\t'<<"B\n";}
};
classC:publicA,publicB{
public:
inty;
C(inta,intb,intc):A(a),B(b+30){y=c;}
voidShow(){cout<<"y="<<y<<'\t'<<"C\n";}
cout<<y<<'\t'<<m<<'\t'<<p<<endl;
}
};
voidfun(A*f){
cout<<f->power()<<'\n';
}
voidmain()
{
Aa(4,3),*p;
Bb(2,4,3,3);
p=&a;
fun(p);
p=&b;
fun(p);
();
}
12.如下程序运行时的输出结果是。
};
classB:publicA{
public:
voidf1(){cout<<"类B中的f1\n";}
voidf2(int){cout<<"类B中的f2\n";}
voidf3(){cout<<"类B中的f3\n";}
};
voidmain(){
Aa1,*p;
Bb1;
p=&b1;
p->f1();p->f2();p->f3();
charstr1[20];
public:
Ih1(char*s1,char*s2):B(s1){strcpy(str1,s2);cout<<str1<<endl;}
};
classIh2:publicvirtualB{
charstr2[20];
public:
Ih2(char*s1,char*s2):B(s1){strcpy(str2,s2);cout<<s2<<endl;}
3.如下程序运行时的输出结果是。
#include<>
classA{
public:
A(){cout<<"A()\n";
}
~A(){cout<<"~A()\n";
}
};
classB{
public:
B(){cout<<"B()\n";}
~B(){cout<<"~B()\n";}
};
classC:publicB,publicA{
public:
B():A(){cout<<"B\n";}
~B(){cout<<"~B\n";}
};
classC:publicA{
public:
C():A(){cout<<"C\n";}
~C(){cout<<"~C\n";}
};
classD:publicC,publicB{
public:
D():B(),C(){cout<<"D\n";}
}
private:
intpub;
};
voidmain()
{
inta=25;
P*p;
Ppers("Zhang");
Sstud("Wang",;
Fprof("Li",4);
p=&pers;
p->print();
p=&stud;
p->print();
p=&prof;
p->print();
(a);
}
11.如下程序运行时的输出结果是。
#include<>
classAnimal{
public:
virtualchar*getType(){return“Animal”;}
相关文档
最新文档