工程硕士复习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=7,b=5;int c=7/
2、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*str=“a”;,a,0,str,第一部分 选择填空题,4.以下叙述正确的是()在C程序中,main函数必须位于程序的最前面 C程序的每行中只能
4、写一条语句C语言没有输入输出语句 在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,4.以下叙述正确的是(C)在C程序中,main函数必须位于程序的最前面 C程序的每行中只能写一条语句C语言没有输入输出语句(printf,scanf是库函数)在对一个C程序进行编译的过程中,可发现注释中的拼写错误,第一部分 选择填空题,以下程序的输出结果是()main()int a=12,b=12;printf(%d%dn,-a,+b);A.10 10 B.12 12 C.11 10 D.11 13,D,第一部分 选择填空题,main()int a=12,b=12;printf(“%
5、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 Standard Code for Information Interchange,美国信息交换标准代码),D,第一部分 选择填空题,8.在语言中,逻辑值“真”用()表示true 大于的数 非零整数 非零的数,D,第一部分 选择填空题,9.用8位
6、无符号二进制数能表示的最大十进制数为()127 B.128 C.255 D.256 8位有符号二进制数能表示的十进制数的范围?-128 127,C,第一部分 选择填空题,10.若变量i、j已正确定义,以下不合法的语句是()A.j=1 B.+iC.j=5D.j=int(i),D,第一部分 选择填空题,11.以下选项中,与k=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 同一行
7、上的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语句的作用是结束整个循环的执行只能在循环体内和switch语句体内使用break语句在循环体内使用break语句或continue语句的作用相同从多层循环嵌套中退出时,只能使用goto语句,B,第一部分 选择填空题,第一部分 选择填空题,第一部分 选择填空题,14.在C语言中,下列叙述正确的是()不能使用do-while语句构成循环do-while语句构成的循
8、环,必须用break语句才能退出do-while语句构成的循环,当while语句中的表达式值为非零时循环结束do-while语句构成的循环,当while语句中的表达式值为零时结束循环,D,第一部分 选择填空题,第一部分 选择填空题,15.下面有关for循环的正确描述是()for循环只能用于循环次数已经确定的情况for循环是先执行循环体语句,后判断表达式在for循环中,不能用break语句跳出循环体for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,第一部分 选择填空题,15.下面有关for循环的正确描述是(D)for循环只能用于循环次数已经确定的情况(死循环)for循环是先执行循
9、环体语句,后判断表达式在for循环中,不能用break语句跳出循环体for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来,for(initialization;loopContinuationCondition;increment)statement;等价于:initialization;while(loopContinuationCondition)statement;increment;,第一部分 选择填空题,第一部分 选择填空题,16.结构化程序设计一般可以用()三种基本结构组合而成循环、选择、递归 顺序、循环、嵌套循环、递归、分支顺序、选择、循环,D,选择:if、ifels
10、e、switch循环:while、do.while、forbreak 和 continue 可以改变控制流程,第一部分 选择填空题,第一部分 选择填空题,17.以下不是死循环的语句为()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)
11、;A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误,C,第一部分 选择填空题,20.以下不正确的说法为()在不同函数中可以使用相同名字的变量 形式参数是局部变量在函数内定义的变量只在本函数范围内有效在函数内的语句块中定义的变量在本函数范围内有效,D,第一部分 选择填空题,21.以下正确的描述是(),在C语言程序中函数的定义可以嵌套,但函数的调用不可以嵌套函数的定义不可以嵌套,但函数的调用可以嵌套函数的定义和函数的调用均不可以嵌套函数的定义和函数的调用均可以嵌套,B,第一部分 选择填空题,22.以下正确的说法是()定义函数时,形参的类型说明可以放在函数体内return后边的值不能
12、为表达式如果函数值的类型与返回值类型不一致,以函数值类型为准如果形参与实参的类型不一致,以实参类型为准,C,第一部分 选择填空题,23.以下正确的说法是(),在C语言中实参和与其对应的形参各占用独立的存储单元实参和与其对应的形参共占用一个存储单元只有当实参和与其对应的形参同名时才共占用存储单元形参是虚拟的,不占用存储单元,A,第一部分 选择填空题,24.进行文件操作的时候,写文件一般含义是()将计算机内存中的信息存入磁盘 将磁盘中的信息存入计算机内存将计算机CPU中的信息存入磁盘 将磁盘中的信息存入计算机CPU,A,第一部分 选择填空题,25.C语言中规定函数的返回值的类型是由()return
13、语句中的表达式类型所决定 在定义该函数时所指定的函数类型所决定调用该函数时系统临时决定 调用该函数时的主调用函数类型所决定,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);816 20 输出项不合法,结果不确定,C,第一部分 选择填空题,27.若有定义:int a46;则能正确表示a数组中任一元素aij(此处0=i4,0=j6)地址的表达式是()&a00+6*i+j&a00+4*j+i&a00+4*i+j&a00+6*i+i
14、,A,第一部分 选择填空题,第一部分 选择填空题,28.以下正确的说明语句是()int*b=1,3,5,7,9int 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 进行正确初始化的是()int a23=1,2,3,4,5,6;in
15、t 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是否相等,应当使用()if(s1=s2)if(s1=s2)if(strcpy(s1,s2)if(strcmp(s1,
16、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;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句是()k=*ptrl+*ptr2;ptr2=k ptrl=ptr2;k=*ptrl*(*
17、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(void)char str80,str280;int i;/*read a string and a integer*/scanf(%s%d,str,第一部分 选择填空题,36.定义int*
18、p,i;以下含义正确的语句是()p=10;i=p;i=*p;p=2*p+1;,C,第一部分 选择填空题,37.下列说法不正确的是()指针是一个变量指针中存放的是地址值指针可以进行加、减等算术运算指针变量不占用存储空间,D,第一部分 选择填空题,38.若要说明x是整型变量,p为指向x的整型指针变量,下列说明语句中正确的是()int x,*p=&x;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+
19、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(%dn,*(p+5);/printf(%dn,(*ptr+1)+2);printf(%dn,*(*(a+1)+2);return 0;,第一部分 选择填空题,40.若有定义int(*p)4,则标识符p是一个()指向整型变量的指针变量指向函数的指针变量指向有四个整型元素的一维数组的指针变量指针数组名,有四个元素
20、,每个元素均为一个指向整型变量的指针,C,第一部分 选择填空题,41.下面这些名词,没有“地址”的是()变量函数宏 指针,C,第一部分 选择填空题,42.已知 int a,*p=&a;则为了得到变量a的值,下列错误的表达式是()*&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.若使用一维数组名作函数实参,则以下正确的说法是()必须
21、在主调函数中说明此数组的大小 实参数组类型与形参数组类型可以不匹配在被调函数中,不需要考虑形参数组的大小 实参数组名与形参数组名必须一致,A,第一部分 选择填空题,46.打开一个已存在非空的文件用于修改,正确的语句是()fp=fopen(file,r)fp=fopen(file,w)fp=fopen(file,w+)fp=fopen(file,r+),D,第一部分 选择填空题,47.执行fopen函数时发生错误,则函数的返回值是()地址值 0 1 EOF,B,第一部分 选择填空题,47.可作为fopen函数中第一个参数的是()c:usertext.txt c:usertext.txt c:us
22、ertext.txt c:usertext.txt,D,第一部分 选择填空题,49.函数fread(buffer,size,count,fp);其中buffer代表的是()一个整形变量,代表要读入的数据项总数 一个文件指针,指向要读入的文件一个指针,指向存放要读入的数据的地址 一个存储区,存放要读入的数据项,C,第一部分 选择填空题,50.fgets(str,n,fp)中,正确的叙述是()字符串读入后不会自动加入0 fp是file类型的指针fgets函数将从文件中最多读入n-1个字符 fgets函数将从文件中最多读入n个字符,C,第一部分 选择填空题,51.fgetc函数遇到文件末尾标志的时候
23、,返回()0 NULL 1 EOF,D,第一部分 选择填空题,52.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的执行结果是()for(i=0;i 3;i+)printf(%d,x i 2-i);A.1 5 9 B.1 4 7C.3 5 7D.3 6 9,C,第一部分 选择填空题,53.下面程序的运行结果是()incre()static int x=0;+x;printf(“%d”,x);main()incre();incre();incre();A.0 0 0B.0 1 2C.1 1 1D.1 2 3,D,第一部分 选择填空题,incre()
24、int x=0;+x;printf(“%d”,x);main()incre();incre();incre();A.0 0 0B.0 1 2C.1 1 1D.1 2 3,第一部分 选择填空题,54.以下程序的输出结果是()fun(int x,int y,int z)z=x*x+y*y;main()int a=31;fun(5,2,a);printf(%d,a);A.0 B.29 C.31 D.无定值,C,第一部分 选择填空题,55.以下程序的输出结果是()main()int a,b;for(a=1,b=1;a=10)break;if(b%3=1)b+=3;continue;printf(%dn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程硕士 复习 语言
链接地址:https://www.31ppt.com/p-5088879.html