工程硕士复习C语言.ppt
《工程硕士复习C语言.ppt》由会员分享,可在线阅读,更多相关《工程硕士复习C语言.ppt(134页珍藏版)》请在三一文库上搜索。
1、C语言程序设计复习,丁建睿 ,第一部分 选择填空题,以下正确的叙述是( ) 在C程序中,每行中只能写一条语句 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 在C程序中,无论是整数还是实数,都能被准确无误地表示 在C程序中,%是只能用于整数运算的运算符,第一部分 选择填空题,以下正确的叙述是( D ) 在C程序中,每行中只能写一条语句 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数(浮点数) 在C程序中,无论是整数还是实数,都能被准确无误地表示(浮点数的误差) 在C程序中,%是只能用于整数运算的运算符,第一部分 选择填空题,/ 和 % int a
2、 = 7, b = 5; int c = 7 / 5; int d = 7 % 5;,第一部分 选择填空题,2. 以下不正确的叙述是( ) 在C程序中,逗号运算符的优先级最低 在C程序中,APH和aph是两个不同的变量 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值,第一部分 选择填空题,2. 以下不正确的叙述是( D ) 在C程序中,逗号运算符的优先级最低 在C程序中,APH和aph是两个不同的变量(区分大小写) 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b
3、中的值不变 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(类型转换),第一部分 选择填空题,#include int main() int a = 5; a = (3*5, a*4, a+5); printf(“a = %dn“,a); return 0; ,第一部分 选择填空题,若有说明语句: char c=72则变量c ( ) 包含1个字符 包含2个字符 包含3个字符 说明不合法,c的值不确定,第一部分 选择填空题,若有说明语句: char c=72则变量c ( A ) 包含1个字符 包含2个字符 包含3个字符 说明不合法,c的值不确定 char * st
4、r = “a”;,a,0,str,第一部分 选择填空题,4. 以下叙述正确的是( ) 在C程序中,main函数必须位于程序的最前面 C程序的每行中只能写一条语句 C语言没有输入输出语句 在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,4. 以下叙述正确的是( C ) 在C程序中,main函数必须位于程序的最前面 C程序的每行中只能写一条语句 C语言没有输入输出语句(printf, scanf是库函数) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,以下程序的输出结果是( ) main() int a=12,b=12; printf(
5、“%d %dn“,-a,+b); A. 10 10 B. 12 12 C. 11 10 D. 11 13,D,第一部分 选择填空题,main() int a=12,b=12; printf(“%d %dn”,a- ,+b); A. 10 10 B. 12 12 C. 12 13 D. 11 13,第一部分 选择填空题,6. 以下不正确的C语言关键字是( ) A. break B. if C. printf D. sizeof,C,第一部分 选择填空题,在C语言中,字符型数据在内存中以( )形式存放 原码 B. BCD码 C. 反码 D. ASCII码 ASCII (American Stand
6、ard Code for Information Interchange,美国信息交换标准代码),D,第一部分 选择填空题,8. 在语言中,逻辑值“真”用( )表示 true 大于的数 非零整数 非零的数,D,第一部分 选择填空题,9. 用8位无符号二进制数能表示的最大十进制数为 ( ) 127 B. 128 C. 255 D. 256 8位有符号二进制数能表示的十进制数的范围? -128 127,C,第一部分 选择填空题,10. 若变量i、j已正确定义,以下不合法的语句是( ) A. j=1 B. +i C. j=5 D. j=int(i),D,第一部分 选择填空题,11. 以下选项中,与k
7、=n+完全等价的表达式是( ) k=n,n=n+1 n=n+1,k=n k=+n k+=n+1,A,第一部分 选择填空题,12. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对 缩排位置相同的if 在其之前未配对的if 在其之前未配对的最近的if 同一行上的if,C,第一部分 选择填空题,悬挂问题 if ( x 5 ) if ( y 5 ) cout 5“; else cout 5 ) if ( y 5 ) cout 5“; else cout “x is = 5“;,第一部分 选择填空题,13. 以下正确的描述是( ) continue语句的作用是结束整个循
8、环的执行 只能在循环体内和switch语句体内使用break语句 在循环体内使用break语句或continue语句的作用相同 从多层循环嵌套中退出时,只能使用goto语句,B,第一部分 选择填空题,第一部分 选择填空题,第一部分 选择填空题,14. 在C语言中,下列叙述正确的是( ) 不能使用do-while语句构成循环 do-while语句构成的循环,必须用break语句才能退出 do-while语句构成的循环,当while语句中的表达式值为非零时循环结束 do-while语句构成的循环,当while语句中的表达式值为零时结束循环,D,第一部分 选择填空题,第一部分 选择填空题,15. 下
9、面有关for循环的正确描述是( ) for循环只能用于循环次数已经确定的情况 for循环是先执行循环体语句,后判断表达式 在for循环中,不能用break语句跳出循环体 for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,第一部分 选择填空题,15. 下面有关for循环的正确描述是( D ) for循环只能用于循环次数已经确定的情况(死循环) for循环是先执行循环体语句,后判断表达式 在for循环中,不能用break语句跳出循环体 for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,for ( initialization; loopContinuationCon
10、dition; increment ) statement; 等价于: initialization; while ( loopContinuationCondition ) statement; increment; ,第一部分 选择填空题,第一部分 选择填空题,16. 结构化程序设计一般可以用( )三种基本结构组合而成 循环、选择、递归 顺序、循环、嵌套 循环、递归、分支 顺序、选择、循环,D,选择:if、ifelse、switch 循环:while、dowhile、for break 和 continue 可以改变控制流程,第一部分 选择填空题,第一部分 选择填空题,17. 以下不是死循
11、环的语句为( ) for(; ; x+=k); while(1) x+; for(k=10; ;k-) sum+=k; for(;(c=getchar()!=n;) printf(“%c”,c);,D,第一部分 选择填空题,18. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ) 地址传递 单向值传递 由实参传给形参,再由形参传回给实参 由用户指定传递方式,B,第一部分 选择填空题,以下程序段 ( ) x= -1; do x=x*x; while(!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误,C,第一部分 选择填空题,20. 以下不正确
12、的说法为 ( ) 在不同函数中可以使用相同名字的变量 形式参数是局部变量 在函数内定义的变量只在本函数范围内有效 在函数内的语句块中定义的变量在本函数范围内有效,D,第一部分 选择填空题,21. 以下正确的描述是( ) ,在C语言程序中 函数的定义可以嵌套,但函数的调用不可以嵌套 函数的定义不可以嵌套,但函数的调用可以嵌套 函数的定义和函数的调用均不可以嵌套 函数的定义和函数的调用均可以嵌套,B,第一部分 选择填空题,22. 以下正确的说法是 ( ) 定义函数时,形参的类型说明可以放在函数体内 return后边的值不能为表达式 如果函数值的类型与返回值类型不一致,以函数值类型为准 如果形参与实
13、参的类型不一致,以实参类型为准,C,第一部分 选择填空题,23. 以下正确的说法是 ( ) ,在C语言中 实参和与其对应的形参各占用独立的存储单元 实参和与其对应的形参共占用一个存储单元 只有当实参和与其对应的形参同名时才共占用存储单元 形参是虚拟的,不占用存储单元,A,第一部分 选择填空题,24. 进行文件操作的时候,写文件一般含义是( ) 将计算机内存中的信息存入磁盘 将磁盘中的信息存入计算机内存 将计算机CPU中的信息存入磁盘 将磁盘中的信息存入计算机CPU,A,第一部分 选择填空题,25. C语言中规定函数的返回值的类型是由( ) return语句中的表达式类型所决定 在定义该函数时所
14、指定的函数类型所决定 调用该函数时系统临时决定 调用该函数时的主调用函数类型所决定,B,第一部分 选择填空题,若有定义: int a= 2,4,6,8,10,12,14,16,18,20,22,24,q4,k;则下面程序段的输出是( ) for (k=0;k4;k+) qk=ak*3; printf(“%dn“,q3); 8 16 20 输出项不合法,结果不确定,C,第一部分 选择填空题,27. 若有定义: int a46;则能正确表示a数组中任一元素aij (此处0=i4,0=j6)地址的表达式是( ) &a00 + 6*i + j &a00 + 4*j + i &a00 + 4*i + j
15、 &a00 + 6*i + i,A,第一部分 选择填空题,第一部分 选择填空题,28. 以下正确的说明语句是( ) int *b=1,3,5,7,9 int a5,*num5=&a0,&a1,&a2,&a3,&a4; int a=1,3,5,7,9; int *num5=a0,a1,a2,a3,a4; int a34,(*num)4; num1=&a13;,B,第一部分 选择填空题,int *pn 和 int (*p)n的区别 前者表示 p0 到 pn-1 都为指针 后者表示 p 为指向一个 1 维数组 (该数组有 n 个成员)的指针,第一部分 选择填空题,29. 以下对二维数组 a 进行正确
16、初始化的是( ) int a23=1,2,3,4,5,6; int a 3=1,2,3,4,5,6; int a2 =1,2,3,4,5,6; int a2 =1,2,3,4;,B,第一部分 选择填空题,二维数组参数 第一维数组(行)的大小不是必须的 第二维数组(列)的大小是必须的 例:void printArray( const int a 3 );,第一部分 选择填空题,30. 若有以下定义, int a10,*p=a ;则*(p+5)表示( ) 元素a5的地址 元素a5的值 元素a6的地址 元素a6的值,B,第一部分 选择填空题,31. 为了判断两个字符串s1和s2是否相等,应当使用(
17、) if(s1 = s2) if(s1 = s2) if(strcpy(s1,s2) if(strcmp(s1,s2)=0),D,第一部分 选择填空题,32. 下列数组声明中,正确的是( ) #define size 10 char strsize+2; char str; int num10; int n = 5; int an;,A,第一部分 选择填空题,33. 已知: int *p;则变量p是( ) 指向int的指针 指向指针的指针 int型变量 以上三种说法均是错误的,B,第一部分 选择填空题,第一部分 选择填空题,34. 已有定义int k=2; int *ptr1,*ptr2;且p
18、trl和ptr2均已指向变量k,下面不能正确执行的赋值语句是( ) k=*ptrl+*ptr2; ptr2=k ptrl=ptr2; k=*ptrl*(*ptr2);,B,第一部分 选择填空题,以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( ) main() int *p,*q,a,b; p=&a; printf(“input a:“); scanf(“%d“,*p); *p表示的是变量p的地址 *p表示的是变量a的值,不是变量a的地址 *p表示的是指针变量p的值 *p只能用来说明p是一个指针变量,B,第一部分 选择填空题,# include ; int main(
19、 void ) char str80, str280; int i; /* read a string and a integer */ scanf( “%s%d“, str, ,第一部分 选择填空题,36. 定义int *p,i;以下含义正确的语句是( ) p=10; i=p; i=*p; p=2*p+1;,C,第一部分 选择填空题,37. 下列说法不正确的是( ) 指针是一个变量 指针中存放的是地址值 指针可以进行加、减等算术运算 指针变量不占用存储空间,D,第一部分 选择填空题,38. 若要说明x是整型变量,p为指向x的整型指针变量,下列说明语句中正确的是( ) int x,*p=&x
20、; int x,p=&x ; int *p=&x,x ; int x,*p=*x ;,A,第一部分 选择填空题,39. int a33=1,2,3,4,5,6,7,8,9; int (*ptr)3=a,*p=a0; 则下列能够正确表示数组元素a12的表达式是( ) *(*ptr+1)2) *(*(p+5) (*ptr+1)+2 *(*(a+1)+2),D,第一部分 选择填空题,# include ; int main( void ) int a33=1,2,3,4,5,6,7,8,9; int (*ptr)3=a,*p=a0; printf(“%dn“, (*(ptr+1)2); printf
21、(“%dn“, *(p+5); /printf(“%dn“, (*ptr+1)+2); printf(“%dn“, *(*(a+1)+2); return 0; ,第一部分 选择填空题,40. 若有定义int (*p)4,则标识符p是一个( ) 指向整型变量的指针变量 指向函数的指针变量 指向有四个整型元素的一维数组的指针变量 指针数组名,有四个元素,每个元素均为一个指向整型变量的指针,C,第一部分 选择填空题,41. 下面这些名词,没有“地址”的是( ) 变量 函数 宏 指针,C,第一部分 选择填空题,42. 已知 int a,*p=&a; 则为了得到变量a的值,下列错误的表达式是( ) *
22、&p *p p0 *&a,A,第一部分 选择填空题,44. 若有以下说明和语句: struct stu int no; char *name; student, *p=&student; 则以下引用方法不正确的是( ) A. student.no B. (*p).no C. p-no D. student-no,D,第一部分 选择填空题,45. 若使用一维数组名作函数实参,则以下正确的说法是( ) 必须在主调函数中说明此数组的大小 实参数组类型与形参数组类型可以不匹配 在被调函数中,不需要考虑形参数组的大小 实参数组名与形参数组名必须一致,A,第一部分 选择填空题,46. 打开一个已存在非空的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程硕士 复习 语言
链接地址:https://www.31doc.com/p-3166136.html