C语言复习2.
- 格式:doc
- 大小:75.00 KB
- 文档页数:5
C语言复习题一、选择题:1.以下不是C语言的特点的是( B )A.C语言简洁、紧凑 B.能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作 D.C语言移植性好2. 以下不正确的C语言标识符是( D )。
A.ABC B.abc C.a_bc D.ab.c3.一个c程序的执行是从( A ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4.以下不正确的语句(设有int p,q)是( D )。
A.P*=3; B.p/=q; C.p十=3; D.p&&=q5.下列四组选项中,均不是C语言关键字的选项是( A ).A.define B.getc C.include D.whileif char sanf gotype printf case pow6.下面四个选项中,均是合法整形常量的选项是( A ).A.160B.-0xcdfC.-01D.-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x7. 下面四个选项中,均是不合法浮点数的选项是( B ).A.160.B.123C.-.18D.-e30.12 2e4.2 123e4 0.234e3 .e5 0.0 1e38. 若有代数式3ae/bc,则不正确的C语言表达式是( C )A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*39. 若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum 的值为(A ).A.7B.8C.9D.1010.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。
A.2.500000B.2.750000C.3.500000D.0.00000011. s izeof(float)是( B )。
C\C++程序设计复习题一、选择题1、一个C语言程序总是从( C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定2、以下能正确定义二维数组的是( C )A.int a[][3];B.int a[][3]=2{2*3};C.int a[][3]={};D.int a[2][3]={{1},{2},{3,4}};3、设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) …x‟&&‟y‟B) x||y+z&&y-z C) x<=y D) !((x<y)&&!z||1)4、执行以下程序段后,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) 145、语句while(!e);中的条件!e等价于( B )A) e==0 B)e!=1 C) e!=0 D) 运行时出错6、下列数据中,为字符串常量的是(B )。
(A)…A‟(B)“house”(C)How do you do.(D)‟$abc‟7、用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是( B )A) 随机值B) 0 C) 1 D) F8、在执行char str[10]=“china\0”;strlen(str)的结果是( B )A)5 B) 6 D) 7 D 99、若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer10、有以下程序( D )main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A.10B.13C.21D.程序进入死循环11、以下定义语句中正确的是( C )A.char a='A'b='B';B.float a=b=10.0;C.int a=10,*b=&a;D.float *a,b=&a;12、设有int x=11;则表达式(x++*l/3)的值为( B )。
c语言期末复习资料C语言是计算机科学中非常基础的一门编程语言,是程序员必须掌握的技能之一。
由于其简单易学的特点和广泛的应用范围,越来越多的人开始学习和使用C语言。
期末考试是C语言学习过程中的重要节点,为了帮助考生顺利通过考试,本文整理了一些C语言期末复习资料以供参考。
一、基础知识1.变量和数据类型C语言中的变量用于存储程序中使用的数据,数据类型是指变量所代表的数据的类型。
常见的C语言数据类型包括整型、浮点型、字符型、布尔型等。
掌握变量和数据类型的定义和使用是C 语言学习的第一步。
2.运算符和表达式C语言中的运算符用于对变量进行运算和操作,包括算术运算符、关系运算符、逻辑运算符等。
表达式是由变量和运算符组成的代码段,用于对变量进行操作和计算。
掌握运算符和表达式的使用和规则是C语言学习的基础。
3.条件语句和循环语句条件语句和循环语句是C语言中的两种重要的控制结构。
条件语句根据条件的真假来执行不同的代码段,常见的条件语句包括if语句和switch语句。
循环语句用于重复执行同一个代码段,常见的循环语句包括for循环、while循环和do-while循环。
掌握条件语句和循环语句的使用和应用是C语言学习的重要环节。
二、进阶技巧1.字符数组和字符串字符数组和字符串是C语言中非常常用的数据类型,用于处理字符和文本。
字符数组是由若干个字符组成的数组,字符串是由若干个字符组成的字符串常量。
掌握字符数组和字符串的定义和使用,能够更好地处理文本和数据输入输出等问题。
2.函数和指针函数是C语言中的重要的模块化编程方法,函数将程序的功能分解为若干个具有特定功能的独立模块。
指针是C语言中的重要的数据类型,它存储变量的内存地址,常用于访问复杂数据结构和实现高效的内存管理。
掌握函数和指针的使用和细节能够更好地组织程序和提高程序的执行效率。
3.结构体和文件操作结构体是C语言中用于组织复杂数据结构的数据类型,常用于存储各种类型的数据记录。
有以下程序#include <stdio.h>void main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d\n",k,m);}程序运行后的输出结果是__C___。
A、0,0B、0,1C、1,0D、1,1 若变量c为char类型,能正确判断出c为小写字母的表达式是__D_____。
A. 'a'<=c<='z'B. (c>='a')||(c<='z')C. ('a'<=c)and('z'>=c)D. (c>='a')&&(c<='z')以下符合C语言语法的实型常量是__C____。
A、1.2E0.5B、3.14159EC、5E-3D、E15 若变量已正确定义,有以下程序段i=0;doprintf("%d, ",i);while(i++);printf("%d\n",i);其输出结果是____B__。
A. 0,0B. 0,1C. 1,1D. 程序进入无限循环若有以下程序段,int c1=1 ,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是____A__。
A、0B、0.5C、1D、2 以下选项中合法的字符常量是__B____。
A、"B"B、'\010'C、68D、D 有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66↙。
《C语言》总复习二一、选择题:1.一个C语言程序至少包含一个()函数。
A.printfB.scanfC.mainD.自定义2.一个完整的C程序包含一个或多个函数。
对于函数main() ,不正确的说法是()。
A.它是程序开始运行的第一个被调用的函数B.没有它的程序就无法运行C.它是唯一不缺少的函数D.又没有它都行3.C语言中,复合语句的构成是将一系列语句置于()。
A. begin和end 之间B.方括号“[]”之间C.圆括号“()”之间D.花括号“{}”之间4.不合法的C语言整型常量是()。
A.-0128 B.0x35 C.123L D.300005.以下程序段的输出结果是()。
int x=3; do { printf(“%3d”,x - =2); } while(!(--x));A.1B.3 0C.1 -2D.死循环6.设x,y均为整型常量,且x=10, y=3,则语句printf(“%d,%d\n”,x--,y--);的输出结果是()。
A.10,3B.9,3C.9,2D.10,27.以下程序的输出结果是()。
main(){ int a [4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]); }A.0650B.1470C.5430D.输出值不定8.以下程序的输出结果是()。
int a ,b; void fun() { a=100;b=200;}main(){int a=5,b=7;fun();printf(“%d,%d\n”,a,b);}A.100,200B.5,7C.200,100D.7,59.执行下面的程序后,a的值为()。
{int a ,b; for (a=1,b=1;a<=100;a++){ if(b>=20) {b+=3; continue;} b-=5; } }A.7B.8C.9D.1010.若有以下说明,int a [3][5]={{1,2},{3,4},{5,6}};则数值为6的表达式是()。
一、选择题1. 以下程序的运行结果是。
#include <stdio.h>int main( ){ int m=5, n=10;printf(“%d, %d\n〞,m++, --n);return 0;}A.5,9 B.6,9 C.5,10 D.6,102. 有定义语句int a,b; ,假设要通过语句scanf(“%d, %d〞, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的选项是。
〔注:□代表空格〕A.6,5<回车> B.6,□□5<回车>C.6 5<回车> D.6,<回车>5<回车>3. 以下程序的输出结果是。
〔注:□代表空格〕#include <stdio.h>int main( ){ printf(“\n*s1=%15s*〞, “chinabeijing〞);pirntf(“\n*s2=%-5s*〞, “chi〞);return 0;}A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□*C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*4. 已有如下定义语句和输入语句,假设要求a1, a2, c1, c2的值分别为10、20、A 和B,当从第一列开始输入数据时,正确的数据输入方法是。
〔注:□代表空格〕int a1,a2; char c1, c2;scanf(“%d%c%d%c〞,&a1,&c1,&a2,&c2);A.10A□20B<回车> B.10□A□20□B<回车>C.10□A□20B<回车>D.10A20□B<回车>5. 已有定义int x; float y; 且执行scanf(“%3d%f〞, &x,&y); 语句,假设从第一列开始输入数据12345□678<回车>,则x的值为〔1〕,y的值为〔2〕。
总体上必须清楚的:1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
1、C程序是由函数构成的。
其中有并且只能有________个主函数。
C语言程序的执行总是由_______函数开始的。
2、C语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为____________。
3、C语言中算术运算符、关系运算符、逻辑运算,这三个运算符中优先级最高有是__________。
4、结构化程序设计规定的三种基本结构是__________结构、选择结构、__________结构。
5、设x,i,j,k都是int型变量,表达式x=(i=4,j=16,k=32)计算后,x的值为 _____________。
6、C语句可以分为五大类:控制语句、_________、_________、空语句、分程序。
7、表达式10!=9的值是___________。
8、若在程序中用到“putchar( )”函数时,应在程序开头写上包含命令______________。
9、执行“int b[5] ={1,2,3,4,5},a[ ][4]={1,2,3,4,5,6 };”后,b[4]= ________,a[1][2]= _______。
10、函数中的形参和调用时的实参都是数组名时,传递方式为________,都是变量时,传递方式为________。
11、”%-ms”表示如果串长________,则在m列范围内,字符串向________靠,________补空。
12、若有以下定义语句:int a=5; printf(“%d\n”,a++); 则输出结果是________。
13、一个表达式要构成一个C语句,必须有________。
15、如果想输出字符“%”,则应该在“格式控制”字符串中用__ __表示。
16、printf函数的“格式控制”包括两部分,他们是__ __和__ __。
17、符号’&’是__ __运算符,&a是指__ __。
18、putchar 函数的作用是__ __。
getchar 函数的作用是__ __。
19、复合语句是由一对__ __括起来的若干语句组成的。
20、把for(表达式1;表达式2;表达式3);改写为等价的while语句为__ __。
21、while语句与do-while语句的区别是__ __。
22、字符常量使用一对__ __界定单个字符,而字符串常量使用一对__ __来界定若干个字符的序列。
23、设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为__ __。
24、设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y为__ __ 。
25、一个表达式要构成一个C语句,必须有__ __。
26、C语言提供三种逻辑运算符,按优先级高低它们分别是__ __。
27C语言三个循环语句分别是__ _语句,__ __语句和__ __语句。
28、在C语言中,二维数组的元素在内存中的存放顺序是__ __。
二、选择1、下面C语言的变量中,定义非法的是:()。
A、AbafB、——322 C、alpf——beat D、John.smith2、以下不正确的叙述是()。
A、在C程序中,逗号运算符的优先级最低B、在C程序中,APH和aph是两个不同的变量C、若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
3、设以下变量均为int类型,则值不等于7的表达式是()。
A、(x=y=6,x+y,x+1)B、(x=y=6,x+y,y+1)C、(x=6,x+1,y=6,x+y)D、(y=6,y+l,x=y,x+1)4、设a=13.6,b=8,则表达式a+b%3*(int)(a-b)/4的值为()。
A、15.6B、15C、14.6D、145、这段程序中的常量有:()。
#define PI 3.14void main(){ int sum;sum = 10 + 15;printf("sum=%d\n",sum);printf("result is 25\n");}这段程序中常量有:A、sumB、mainC、PID、int6、使用“scanf(“x=%f,y=%f”,&x,&y);要使x,y均为1.25,正确的输入是()。
A、1.25,1.25B、1.25 1.25C、x=1.25,y=1.25D、x=1.25 y=1.257、设有语句int a=3,执行下列语句a+=a-=a*a后,变量a的值为()。
A、3B、0C、9D、-128、判断char型变量ch是否为大写字母的正确表达式是A、 'A' <=ch<='Z'B、 (ch> = 'A')&(ch<='Z' )C、 (ch>='A' )&&(ch<='Z')D、('A'< = ch)AND('Z'>=ch)9、以下正确的描述是()。
A、 continue语句的作用是结束整个循环的执行B、只能在循环体内和switch语句体内使用break语句C、在循环体内使用break语句或continue语句的作用相同D、从多层循环嵌套中退出时, 只能使用goto语句10、不能把字符串“Hello!”赋给数组b的语句是()。
A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};B、char b[10];b=”Hello!”;C、char b[10]; strcpy(b,”Hello!”);D、char b[10]=”Hello!”;11、在C语言中以下不正确的说法是()。
A、实参可以是常量、变量或表达式B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致12、以下能正确定义且赋初值的语句是()。
A、int n1=n2=10;B、char c=32;C、float f=f+1.1;D、double x=12.3E2.5;13、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。
程序在编译时出错。
()。
main()/* Beginning */{ int r; float s;scanf("%d",&r);s=pi*r*r; printf("s=%f\n",s);}出错的原因是A、注释语句书写位置错误B、存放圆半径的变量r不应该定义为整型C、输出语句中格式描述符非法D、计算圆面积的赋值语句中使用非法变量14、以下对C语言函数的有关描述中,正确的是()。
A、在C中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参。
B、C函数既可以嵌套定义又可以递归调用。
C、函数必须有返回值,否则不能使用函数。
D、C程序中有调用关系的所有函数必须放在同一个源程序文件中。
15、有以下程序段int k=0,a=1,b=2,c=3;k=a<c ? c:k;执行该程序段后,k的值是()。
A、3B、2C、1D、016、有以下程序main(){ char a1=’M’,a2=’m’;printf("%c\n", (a1, a2) ); }以下叙述中正确的是()。
A、程序输出大写字母MB、程序输出小写字母mC、格式说明符不足,编译出错D、程序运行时产生出错信息17、有以下程序main(){ int k=5,n=0;while(k>0){ switch(k){ default : break;case 1 : n+=k;case 2 :case 3 : n+=k;}k--;}printf("%d\n",n);}程序运行后的输出结果是()。
A、0B、4C、6D、718、设有如下定义: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、若i、j已定义为int类型,则以下程序段中内循环体的执行次数是()。
for(i=5;i>0;i--)for(j=0;j<4;j++){………}A、20B、24C、25D、3020、设a=1,b=2,c=3,d=4,则表达式a<b?a:(c<d?a:d)的结果为()。
A、4B、3C、2D、121、一个C程序由若干个C函数组成,各个函数在文件中的位置为()。
A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照顺序排列D、其他函数必须在前,主函数必须在最后22、下列四个叙述中,正确的是()。
A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写23、下列四个叙述中,错误的是()。
A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以含零个或多个子函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数24、以下叙述不正确的是()。
A、分号是C语句的必要组成部分B、C程序的注释可以写在语句的后面C、函数是C程序的基本单位D、主函数的名字不一定用main表示25、执行下面程序段后,c3中的值是()。
int c1=1 , c2=2 , c3;c3=c1/c2;A、0B、1/2C、0.5D、126、在c语言中以下不正确的说法是()。
A、实参可以是常量、变量、或表达式B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与其对应的实参类型一致27、在c语言中,以下说法正确的是()。
A、普通实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用一个存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D、形参是虚拟的,不占用存储单元28、在C语言中,5种基本数据类型的存储空间长度的排列顺序为()。
A、char<int<long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double29、在C语言中,合法的长整型常数是()。
A、0LB、4962710C、0412765D、0xa34b7fe30、若有以下定义语句char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是()。