C语言期末复习题
C语言期末考试复习题及答案3
C语言期末考试复习题及答案一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确的选项涂写在答案纸上.答在试卷上不得分。
(1)C语言规定:在一个源程序中,main函数的位置.A)必须在最后B)必须在系统调用的库函数的后面。
C)必须在最开始.。
D)可以任意(2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母或下划线.。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。
A)—10 0x8f —011 B) 010 -0x11 0xf1C) 0abc —017 0xc D) 0a12 —0x123 -0xa(4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是.A)0 ~ 65535 B)0 ~ 32767C)—32767 ~ 32768 D)—32768 ~ 327687(5) 若有定义:int a = 7; floa x = 2。
5 , y = 4.7 ;则表达式x + a % 3 * (int)(x + y)% 2/4 的值是.A)2。
750000 B)0.00000 C)3。
500000 D)2。
500000 (6)已知ch是字符型变量,下面不正确的赋值语句是。
A)ch = 5 + 9 ; B) ch= ' a + b ';C) ch = ' \ 0 ’;D)ch= ’7’ + ’6';(7) 设x ,y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的是。
A)!((x < y )&&!z || 1)B)' x ' &&’ y ’C)x || y+z && y — z D)x 〈= y(8)设有程序段int k = 10 ;while ( k = 0 ) k = k — 1 ;以下描述正确的是.A)循环体语句一次也不执行。
C语言期末复习题
第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。
A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是: A 。
A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: D 。
A. ...\2‟ B. "" C. ...3‟ D. (483)9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。
int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。
A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。
C语言程序设计期末考试复习题及答案[]
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言期末复习卷习题
期末总复习(基础知识+程序设计部分)一.填空1.已知char ch='A’;则下列表达式的值是: aCh=(ch>=’A’&&ch〈=’Z’)? (ch+32):ch;2。
若x=1,y=2,z=3, 则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z的值为175。
设x,y,z为int型变量,且x=3,y=—4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z) 12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136。
设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z (x〈z&&y>z||x>z&&y〈z )==12) x,y和z中有两个为负数(x〈0&&y<0&&z>=0||z<0&&y<0&&x〉=0||y<0&&x〈0&&z>=0)==13)y是奇数y%2 !=07。
下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8。
设i,j,k均为int型变量,则执行以下for语句后,k的值是10for (i=0,j=10 ;i〈=j ;i++,j——)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7m=10 ;n=5;x=(-—m==n++)?—-m : ++n;y=m++;z=n;10。
若有说明语句: w=1,x=2,y=3,z=4; 则表达式w〉x? w:z〉y?z:x值是 4 11。
若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13。
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语言期末试题
一、选择题(每小题2分,共34分)1. 以下不合法的用户标识符是______。
A、j2_KEYB、DoubleC、4dD、_8_2.以下叙述中正确的是______。
A、C程序中注释部分可以出现在程序中任意合适的地方B、花括号“{”和“}”只能作为函数体的定界符C、构成C程序的基本单位是函数,所有函数名都可以由用户命名(库函数)D、分号是C语言之间的分隔符,不是语句的一部分3.设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、0B、264C、144D、-2644.假定x和y为double型,表达式x=2,y=x+3/2的值是______。
A、3.500000B、3C、2.000000D、3.0000005.语句:printf("%d",(a=2)&&(b=-2));的输出结果是______。
A、2B、1C、-4D、-26.若变量c为char类型,能正确判断出c为小写字母的表达式是______。
A、´a´<=c<=´z´B、(c>=´a´)||(c<=´z´)C、(´a´<=c)and(´z´>=c)D、(c>=´a´)&&(c<=´z´)7.在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对8.以下循环体的执行次数是______。
main(){int i,j;for (i=0,j=1; i<=j+1;i+=2,j--)printf("%d \n",i);}A、3B、2C、1D、09.int a[2][3]={{1},{2,3}};,则a[0][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语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
c语言期末复习试卷
复习题(一)1。
用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。
【答案】编译目标2。
下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。
【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。
7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。
【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。
C语言复习题及答案
C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。
A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。
A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。
A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。
A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。
A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。
A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。
A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。
A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。
A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。
A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。
A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。
A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。
A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。
A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。
C语言期末复习题
本科C程序设计期末复习题一,选择1.C 语言程序中可以对程序进行注释,注释部分必须用符号__C___括起来。
A.‘{‘ 和’}’B.‘[‘和’]’C.“/*”和”*/”D.“*/”和”/*”2.C 语言程序的三种基本结构是顺序结构、选择结构和__B____结构。
A.递归B.循环 C.转移 D.嵌套3.若变量已正确定义,表达式(j=3, j++) 的值是__B___ 。
A.3B. 4C.5D.04.已知字符‘a’的ASCII码为 97 ,执行下列语句的输出是__D___。
printf ("%d, %c", ’b’, ’b’+1 ) ;A.98, bB.语句不合法C.98, 99D.98, c5.表达式strcmp(“box”, “boss”) 的值是一个___A____。
A.正数B.负数C.0D.不确定的数(答案是1,也就是正数。
strcmp是这样比较的,两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1。
这个题目两个字符串前面两个字符"bo"是一样的,不用看。
比较第三个字符,'x'的ASCII码是120,'s'的ASCII码是115,也就是'x'>'s',所以第一个字符串比较大,返回1)6.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_B____的值为6。
A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3](a[1][2]值为6,行下标从0到1,列下标从0到2,最后一个元素是a[1][2])7.要调用数学函数时,在#include命令行中应包含__C___。
A.”stdio.h”B.”string.h”C.”math.h”D.”ctype.h”8. 对于以下结构定义,++p->str中的++加在___A__。
C语言期末复习题(填空选择判断题)
一、单选题:1、已知ch是字符型变量,下面不正确的赋值语句是( B )。
A、ch=‘\0’B、ch=‘a+b’C、ch=‘7’+‘9’D、ch=7+92、以下4组用户定义标识符中,全部合法的一组是(A )。
A、s_5B、IfC、txtD、intabout -max REALk_2E2 turbo 3COM_0013、C语言中的简单数据类型包括( B )A、整型、实型、逻辑型B、整型、实型、字符型、枚举型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C )A、1B、2C、-1D、-25、已知:int i=5;执行语句i+=++i;后,i的值是( C )A、10B、11C、12D、A、B、C答案都不对7、若x为int型变量, x=6;则执行以下语句后,x的值为( C )。
x+=x-=x*x;A、 36B、 60C、- 60D、-248、设d为字符变量,下列表达式不正确的是( D )。
A、d=’g’B、d=’a’C、d=97D、d=”g”9、若a=1,b=2,c=3,d=4;则条件表达式 a>b?a:c<d?c:d结果为( B )A、4B、3C、2D、110、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。
如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度小于8,则输出方式为( B )。
A、从左起输出该字符串,右补空格B、右对齐输出该字符,左补空格C、按原字符长从左向右全部输出D、输出错误信息11、在嵌套的if-else语句中,else总是与( D )配对。
A、其之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近的且不带else的if12、一个C语言程序总是从( B )开始执行。
A、程序的第一个函数B、主函数C、子函数D、主程序13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是 ( A )A、3.9B、4C、4.2D、3.7514、程序片段执行后输出结果是 ( A )int x=5, y=8;printf ("% d", x<y ? x : (x, y));A、5B、8C、5,8D、编译出错15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:( D )。
c语言期末复习题
1、 给定n 个数据,求最小值岀现的位置(如果最小值 岀现多次,求岀第一次岀现的位置即可)。
iati=0;for (i=Ui<n;i++^ ifGs[i]<s[k]) k=i : r-i- >最大值 第三行i<=n 五行k+12、 编写程序求无理数 e 的值并输岀。
计算公式为:e=1+1/1!+1/2!+1/3!+……+1/n! 当 1/n!<0.000001 时 e=2.718282。
l«ig int j :ini i*k : float m je ; i=l : eP, 0: jc=l-0: whil€(jc>=C.OOOOOn {e= e+j c; jh ; £ortk=l;K=i;k^+)jc=1.0/j ; i++; }return e;3、求一批数中最大值和最小值的积。
int i, min :for (i=l;i<n;i++) if (a[i ] ) msx=a[i ]:else if(a[imin=aLi]; r eturn (m :如对您有帮助,欢迎下载支持,谢谢!求出的最大数为18,行坐标为2,列坐标为1。
int 曲电 j ;ay [0][时; Col=0;for (iP ;*◎;】*+) {£«rG=O :j<H :j++) if (jnax^wray [订[j]〉 {ma}t=arr ay [iHj]; R 艸二 i; Col=j 汀 r;7、 求一个n 位自然数的各位数字的积。
(n 是小于10的 自然数) Ion® 山 *=1 ;while (n 比) {d=n%ia ; s#=d.; n/=10; } return E ;8、 计算n 门课程的平均值,计算结果作为函数值返回。
例如:若有5门课程的成绩是:92,76,69, 58, 88,则函数的值为76.599998。
C 语言期末复习题
一、简答题1、请问指针有哪些类型?指针的类型,跟他所指向的数据结构有关,基本类型的指针指向基本类型的数据结构。
2、函数式宏定义和函数调有什么不同?(1)函数式宏定义的参数没有类型,预处理器只负责做形式上的替换,而不做参数类型检查,所以传参时要格外小心。
(2)调用真正函数的代码和调用函数式宏定义的代码编译生成的指令不同。
(3)函数式宏定义要注意格式,尤其是括号。
(4)若函数参数为表达式,则普通函数的调用与函数式宏定义的替换过程是不一样的。
(5)函数式宏定义往往会导致较低的代码执行效率。
3、请问指针编程有哪些优点?(1)提高传输速度,又节省大量内存。
(2)可以用来做数据类型转换,比较常用于通讯缓冲区的填充。
(3)可以用在大量分支处理的实例当中。
(4)在数据结构中,链表、树、图等大量的应用都离不开指针。
4、C语言中,变量为什么要先定义后使用?(1)对于编译器处理更方便。
(2)不容易出错。
(3)程序更清晰。
5、二维数组的初始化定义的正确形式有哪些?请举例说明(1)分行赋初值例如:int a[2][3]={ {1,3,4},{2,3,1},{7,9,0} };(2)按顺序初始化例如:int a[2][3]={1,3,4,2,3,1,7,9,0};(3)省略一维长度的赋值例如:int a[][3]={1,3,4,2,3,1,7,9,0};(4)对数组的前几行元素初始化,其他元素自动初始化为0例如:int a[2][3]={ {1},{2,3} };6、while与do while相同点与不同点是什么?(1)while语句是先测试条件再执行语句,条件不符后终止;do while语句是先执行语句再测试条件,条件不符后终止,所以do while循环至少执行一次7、请写出一个C程序的构成(1)C程序是由若干个函数构成的(2)每个函数(包括主函数)的定义分为两个部分:函数说明部分和函数体。
(3)C程序中的语句最后总要有一个“分号(;)”,作为每个语句的结束。
c语言期末考试题库完整
c语言期末考试题库完整一. 填空题1. C语言中,______是一种具有特殊含义的标识符,比如main、if、for等。
2. 在C语言中,使用______关键字定义函数。
3. 在C语言中,______是一种数据类型用来存储字符。
4. C语言中,______操作符可用于将一个值赋给变量。
5. ______是C语言中用来处理条件判断的控制结构。
6. C语言中,______和______是用来循环执行一段代码的控制结构。
7. 在C语言中,使用______关键字定义结构体类型。
二. 选择题1. 下列哪个是C语言的基本数据类型?a) stringb) floatc) booleand) character2. 在C语言中,下列输出语句的结果是什么?printf("%d", 10/3);a) 3.33b) 3c) 3.0d) 03. 在C语言中,下列循环结构中,哪个适合用于已知循环次数的情况?a) for循环b) while循环c) do-while循环d) switch循环4. 在C语言中,下列常用的逻辑运算符中,哪个用于实现逻辑与操作?a) &&b) ||c) !d) |5. 下列关于指针的描述中,正确的是:a) 指针是一种数据类型,用于存储变量的地址。
b) 指针只能指向整型变量。
c) 指针无法修改所指向变量的值。
d) 指针的声明必须包含地址运算符(*)三. 简答题1. 请简要介绍C语言的基本数据类型,包括其名称和用途。
2. 请解释C语言中的条件语句if-else的使用方法,并提供一个示例代码。
3. 请解释C语言中的循环结构for的使用方法,并提供一个示例代码。
4. 请解释C语言中的数组的概念,并提供一个示例代码。
5. 请解释C语言中的结构体的概念,并提供一个示例代码。
四. 编程题请编写一个C语言程序,实现以下功能:- 定义一个结构体,包含学生的姓名(字符串类型)、年龄(整型)和成绩(浮点型)。
c语言期末考试试题及答案
c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。
A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。
A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。
A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。
A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。
A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。
答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。
答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。
答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。
答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。
答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。
()答案:正确2. 在C语言中,所有的函数都有返回值。
()答案:错误3. 指针变量的地址可以通过使用&运算符获得。
()答案:正确4. 在C语言中,long int和int类型的大小是相同的。
()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。
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 )。
c语言复习试题及答案
c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。
答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。
答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。
答案:09. `printf` 函数的返回类型是_______。
答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。
答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。
12. 解释C语言中数组和指针之间的关系。
答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。
通过指针可以遍历数组,也可以通过指针修改数组元素的值。
四、编程题13. 编写一个C语言程序,实现对整数数组的排序。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。
C语言期末复习题
C语言期末复习题您的姓名: [填空题] *_________________________________1、在每个C程序中都必须包含有这样一个函数,该函数的函数名为 [单选题]A、main(正确答案)B、MAINC、nameD、 function2、下列合法的标识符为 [单选题]A、abde+B、 #KDJFC、 67KDJD、DK3_(正确答案)3、关于字符串和字符的关系正确的是 [单选题]A、“A”与’A’是相同的B、字符串是常量,字符是变量C、“A”与’A’是不同的(正确答案)D、“A”与“A”是相同的4、以下各标识符中,合法的用户标识符组为 [单选题]A、 PAd,P#d,b-b,abc,_0123,ssipedB、cin,a10,CPP,float,del_word,signedC、void,max,hiy,<fr>,list,*jerD、a,temp,_isw,INT,keep,wind(正确答案)5、C语言中,表示一条语句结束的标号是 [单选题]A、#B、;(正确答案)C、//D、}6、每个C程序中都必须有且仅有一个 [单选题]A、类B、预处理命令C、主函数(正确答案)D、语句7、运算符 +、<=、=、% 中,优先级最低的运算符是 [单选题]A、+B、<=C、=(正确答案)D、%8、下列字符列中,可以作为“字符串常量”的是 [单选题]A、 ABCB、″xyz″(正确答案)C、′uvwD、′a′9、设x和y均为逻辑型变量,则x && y为真的条件是 [单选题]A、它们均为真(正确答案)B、其中一个为真C、它们均为假D、其中一个为假10、在if语句中,用作判断的表达式为 [单选题]A、关系表达式(正确答案)B、逻辑表达式C、算术表达式D、任意表达式11、下面合法的C语言字符常量是 [单选题]A、'\t'(正确答案)B、 "A"C、 65D、 A12、表达式: 10!=9的值是 [单选题]A、trueB、非零值C、0D、1(正确答案)13、C语言提供的合法的数据类型关键字是 [单选题]A、 DoubleB、 short(正确答案)C、 integerD、 Char14、C语言程序的基本单位是 [单选题]A、程序行B、语句C、函数(正确答案)D、字符15、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=x%y);的输出结果是 [单选题]A、 1(正确答案)B、 0C、 4D、 316、表达式5!=3的值是 [单选题]A、TB、非零值C、0D、1(正确答案)17、下列数据中哪个是整型数 [单选题]A、6(正确答案)B、6.00C、”a”D、7.e+018、下列数据中哪个是实型数 [单选题]A、6B、6.00(正确答案)C、”a”D、abc19、下面对变量的定义语句哪个是正确的 [单选题]A、int a;(正确答案)B、char a1,int a1;C、a,b char;D、int x,y20、下面对变量的定义语句哪个是正确的 [单选题]A、int x,y ;(正确答案)B、char a1,int a1;C、a,b char;D、char if21、一个C程序的执行是从 [单选题]A、本程序的main函数开始,到main函数结束(正确答案)B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的main函数开始,到本程序文件的最后一个函数结束D、本程序文件的第一个函数开始,到本程序main函数结束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作业-11.单选题:下列字符串属于标识符的是。
A. INTB. 5_studentC. !DFD. 2ong2.单选题:C语言中能用来表示整常数的进制是。
A. 十进制、八进制、十六进制B. 二进制、十进制C. 六进制、八进制D. 十二进制、十进制3.单选题:在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码。
A. 小32B. 大32C. 大64D. 小644.单选题:设d为字符变量,下列表达式不正确的是。
A. d="a"B. d=97C. d='a'D. d='g'5.单选题:10+‟a‟+1.5-567.345/‟b‟的结果是型数据。
A. intB. longC. doubleD. unsigned6.单选题:已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
main() {char x,y; x=‟0‟;y=‟9‟; printf(“%d,%d\n”,x,y); }A. 48,58B. 48,57C. 0,9D. 因输出格式不合法,输出错误信息7.单选题:已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。
main() {char c=‟A‟;int i=10; c=c+10; i=c%i; printf(“%c,%d\n”,c,i); }A. 75,7B. K,5C. 因存在非图形字符,无法直接显示出来D. 75,58.单选题:C语言中,运算对象必须是整型数的运算符是。
A. *B. /C. %D. % 和/:9.单选题:下列常数中,合法的C 常量是。
A. 7ffB. '105'C. "x-y"D. 'Be':10.单选题:下面程序的输出结果是。
main() {int x; x=-3+4*5-6;printf(“%d”,x); x=3+4%5-6; printf(“%d”,x);x=-3*4%-6/5; printf(“%d”,x); x=(7+6)%5/2; printf(“%d”,x); }A. 11 1 0 1B. 12 –3 2 1C. 11 1 2 1D. 11 –3 2 1:11.单选题:下面程序的输出结果是。
main() {int x=2,y=0,z; x*=3+2; printf(“%d”,x); x*=y=z=4; printf(“%d”,x); }A. 10 4B. 10 40C. 8 4D. 8 40:12.单选题:下面程序的输出结果是。
main() {int x=4,y=0,z; x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x); }A. 20 4B. 14 4C. 20 0D. 14 4013.单选题:若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为。
A. 2B. 2.5C. 1D. 2.014.单选题:表达式(double)(20/3)的值为A. 6.0B. 6.6C. 3D. 6.7:15.单选题:若有以下定义, 则正确的赋值语句为。
int a, b ; float x;A. a=b=5B. b= int (x) ;C. a=1, b=2,D. b++;:16.单选题:C语言规定标识符由等字符组成A. 字母下划线中划线B. 字母数字逗号C. 中划线字母数字D. 字母数字下划线:17.单选题:若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是A. 4.5B. 2.5C. 5.0D. 3.5:18.单选题:若有:int a,b=2;则a=(b*100+1.5,100)则a的值是A. 100.5B. 200.5C. 100D. 201.519.单选题:若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:。
printf(“%f”,(x,y));A. 3.600000,5.800000B. 输出符号不够,输出不正确值C. 5.800000D. 3.600000:20.单选题:设有以下定义,则能使值为3的表达式是:int k=7, x=12;A. x%=(k-k%5)B. (x%=k)-(k%=5)C. x%=kD. x%=(k%=5):21.单选题:若有说明语句:char c= …\64‟ ; 则变量C包含:A. 说明不合法,C值不确定B. 1个字符C. 3个字符D. 2个字符作业-2一、选择题1.下列运算符中优先级最高的是。
A)> B)+ C)&& D)!=2.以下关于运算符优先级的描述中,正确的是。
A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)3.逻辑运算符的运算对象的数据类型。
A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)5.以下程序的运行结果是。
main( ){ int c,x,y;x=1; y=1; c=0; c=x++||y++;printf(“\n%d%d%d\n”,x,y,c);}A)110 B)211 C)011 D)0016.以下程序的运行结果是。
(参考教材P53 i++)main( ){ int c,x,y;x=0; y=0; c=0; c=x++&&y++;printf(“\n%d%d%d\n”,x,y,c);}A)100 B)211 C)011 D)0017.判断字符型变量ch为大写字母的表达式是。
A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)8.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。
main( ){ int x;scanf(“%d”,&x);if(x++>5) printf(“%d”,x); else printf(“%d\n”,x--);}A)7和5 B)6和3 C)7和4 D)6和49.写出下面程序的执行结果。
main( ){int x,y=1;if(y!=0) x=5; printf(“%d\t”,x);if(y= =0) x=3;else x=5;printf(“%d\t\n”,x);}A)1 3 B)1 5 C)5 3 D)5 5 10.假定所有变量均已正确说明,下列程序段运行后x的值是。
a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)311.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。
if (x>y||x<z&&y>z)z=x; x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5012.已知int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。
if (x>y||x<z&&y>z){ z=x; x=y; y=z; }A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5013.以下程序的输出结果是。
main( ){int x=2,y=-1,z=2;if (x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z); }A)3 B)2 C)1 D)014.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。
A)‘a’+ ‘b’B)a<=b C)a||b+c&&b-c D)!( (a<b) &&!c || 1 ) 15.下面程序的输出结果是。
main(){int x=40,y=4,z=4;x=y= =z;printf(“%d”,x);x=x= =(y-z);printf(“%d”,x);}A)4 0 B)4 1 C)1 1 D)1 016.若x=3,y=z=4,则下列表达式的值分别为。
(1)(z>=y>=x)?1:0 (2)z>=y&& y>=xA)0 1 B)1 1 C)0 0 D)1 017. 以下程序的输出结果是。
main(){int a=-1,b=4,k;k=(++a<=0)&&!(b--<=0);printf("%d %d %d",k,a,b);}A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 3二、填空题1.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。
#include <math.h>main( ){float a,b,c,_abs,_derta,_doublea,part1,part2;printf("enter a,b,c:");scanf("%f%f%f",&a,&b,&c);if( (1))if( (2)) printf("no answer due to input error\n");else printf("the single root is %f\n",-c/b);else{_derta=b*b-4*a*c;_doublea=2*a;part1=-b/(2*a);_abs=abs(_derta);part2=sqrt(_abs)/_doublea;if( (3))printf("complex root \nreal part=%f image part=%f\n",part1,part2); 复数根elseprintf("real roots\n root1=%f root2=%f\n",part1+part2,part1-part2); 实根}}2.设有程序片段如下:switch(class){case 'A':printf("GREAT!\n");case 'B':printf("GOOD!\n");case 'C':printf("OK! \n");case 'D':printf("NO!\n");default:printf("ERROR!\n");}若class的值为'C',则输出结果是。