计算机程序设计基础复习(16周)a.ppt_第1页
计算机程序设计基础复习(16周)a.ppt_第2页
计算机程序设计基础复习(16周)a.ppt_第3页
计算机程序设计基础复习(16周)a.ppt_第4页
计算机程序设计基础复习(16周)a.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计基础复习,1. 请读程序片段:,char str =”ABCD”, *p=str; printf(“%dn”,*(p+4); 上面程序片段的输出结果是【 】 (1) 68 (2) 0 (3) 字符D的地址 (4) 不确定的值,正确答案:(2) 0,2. 有字符数组a80和b80,则正确的输出语句是【 】。,(1) puts(a, b); (2) printf(“%s,%s“,a ,b ); (3) putchar(a,b); (4) puts(a);puts(b);,正确答案:(4) puts(a);puts(b);,3. 以下对二维数组a的正确说明是【 】。,(1) int a3 (2) float a(3,4) (3) double a14 (4) float a(3)(4),正确答案:(3) double a14,4. 设有以下说明语句: struct stu int a; float b; stutype; 则下面叙述中错误的是【 】。,(1) struct是结构类型的关键字 (2) struct stu是用户定义的结构类型 (3) stutype是用户定义的结构类型名 (4) a和b都是结构成员名,正确答案:(3) stutype是用户定义的结构类型名,5. 在C语言中,引用数组元素时,其数组下标的数据类型允许是【 】。,(1) 整型常量 (2) 整型表达式 (3) 整型常量或整型表达式 (4) 任何类型的表达式,正确答案:(3) 整型常量或整型表达式,6. 若有以下定义和语句: struct student int num,age; ; struct student stu3=1001,20,1002,19,1003,21;struct student *p=stu; 则以下错误的引用是【 】 (1) (p+)-num (2) p+ (3) (*p).num (4) p=&stu.age,正确答案:(4) p=&stu.age,7. fscanf函数的正确的调用形式是【 】。 (1) fscanf(文件指针,格式字符串,输出列表); (2) fscanf(格式字符串,输出列表,文件列表); (3) fscanf(格式字符串,文件列表,输出列表); (4) fscanf(文件指针,格式字符串,输入列表);,正确答案: (4) fscanf(文件指针,格式字符串,输入列表);,8. 若有说明和语句 int a=5; 表达式 a+的值是【 】。 (1) 7 (2) 6 (3) 5 (4) 4,正确答案:(3) 5,9. 执行下述程序片段时的输出结果是【 】。 int a, b; a=13; b=5; printf( %d ,a%=(b/=2); (1) 3 (2) 2 (3) 1 (4) 0,正确答案:(3) 1,10. 已知:int x=1,y=2,z; 则执行:z=xy?+x :+y;则z的值为【 】。 (1) 1 (2) 2 (3) 3 (4) 4,正确答案:(3) 3,11. C语言中的字符型(char)数据在内存中的形式存储是【 】。 (1) 原码 (2) 补码 (3) 反码 (4) ASCII码,正确答案: (4) ASCII码,12. 判断char型变量ch是否为大写字母的正确表达式是【 】。 (1) (A = ch ) (2) (ch =A)&(ch = A)&(ch = Z),正确答案: (2) (ch =A)&(ch =Z),13. 已知:char w;int x;float y;double z;则表达式w*x+z-y结果的类型是【 】。 (1) float (2) Char (3) int (4) double,正确答案:(4) double,14. 逻辑运算符两侧运算对象的数据类型【 】。 (1) 只能是0或1 (2) 只能是0或非0正数 (3) 只能是整型或字符型数据 (4) 可以是任何类型的数据,正确答案:(4) 可以是任何类型的数据,15. 设有以下程序段: int x=0, s=0; while(!x!=0) s=+x; printf( %d ,s); 则输出结果为【 】。 (1) 运行程序段后输出0 (2) 运行程序段后输出是1 (3) 程序段中的控制表达式是非法的 (4) 程序执行无限次,正确答案: (2) 运行程序段后输出是1,16. 对于for(表达式1; ;表达式3) 可以理解为【 】 (1) for (表达式1 ;0 ; 表达式3) (2) for (表达式1 ;1 ; 表达式3) (3) for (表达式1 ; 表达式1 ; 表达式3) (4) for (表达式1 ;表达式3 ; 表达式3),正确答案: (2) for (表达式1 ;1 ; 表达式3),17. 执行下面语句后x的值为【 】。 int a=14, b=15,x; char c=A; x=(ab) (1) TURE (2) FALSE (3) 0 (4) 1,正确答案: (4) 1,18. 以下选项中不是c 语句的是【 】。 (1) int i=0; i+; printf (“%dn“, i); (2) int a; (3) a=5,c=10 (4) b=a;,正确答案:(3) a=5,c=10,19. 以下合法的c 语句是【 】。 (1) a=b; (2) k=int(a+b); (3) k=a+b=c; (4) -i;,正确答案: (4) -i;,20. 若float a,b,c;要通过语句:scanf( %f%f%f ,分别为a,b,c输入10,22,33, 以下不正确的输入形式是【 】。 (1) 10.0 22 33 (2) 10.0,22.0,33.0 (3) 10.0 22.0 33.0 (4) 10 22 33,正确答案: (2) 10.0,22.0,33.0,21. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是【 】。 (1) scanf(“%f”,正确答案: (1) scanf(“%f”,22. 若定义整型变量x,则执行下列程序段后输出是【 】。 for(x=10;x3;x-) if(x%3) x-;-x;-x; printf( %d ,x); (1) 6 3 (2) 7 4 (3) 6 2 (4) 7 3,正确答案:(2) 7 4,23. 以下描述正确的是( ) (1) goto语句只能适用于退出多层循环 (2) switch语句中不能出现continue语句 (3) 只能用continue语句来终止本次循环 (4) 在循环中break语句不能独立出现,正确答案: (2) switch语句中不能出现continue语句,24. 下列关于C语言的叙述错误的是【 】。 (1) 大写字母和小写字母的意义相同 (2) 不同类型的变量可以在一个表达式中 (3) 在赋值表达式中等号(=)左边必须是变量名 (4) 同一个运算符号在不同的场合可以有不同的含义,正确答案: (1) 大写字母和小写字母的意义相同,25. 如果int a=1,b=2,c=3,d=4;则条件表达式”ab? a:cd? c:d 的值是【 】。 (1) 1 (2) 2 (3) 3 (4) 4,正确答案:(1) 1,26. C语言中while 和do-while循环的主要区别是 【 】。 (1) do-while的循环体至少无条件执行一次 (2) while的循环控制条件比 do-while 的循环控制条件严格 (3) do-while允许从外部转到循环体内 (4) do-while的循环体不能是复合语句,正确答案: (1) do-while的循环体至少无条件执行一次,27. 以下是正确的C语言标识符是【 】。 (1) #define (2) _123 (3) %d (4) n,正确答案:(2) _123,28. 已知:char s6,*ps=s;则正确的赋值语句是【 】。 (1) *s=“12345“; (2) ps=“12345“; (3) *ps=“12345“; (4) s=“12345“;,正确答案:(2) ps=“12345“;,29. 执行语句for(i=1;i+4;);后变量i的值是【 】。 (1) 3 (2) 4 (3) 5 (4) 不定,正确答案:(3) 5,30. 在C语言中,int,char和short三种类型数据在内存中所占用的字节数【 】。 (1) 由用户自己定义 (2) 均为2个字节 (3) 是任意的 (4) 由所用机器的机器字节长决定,正确答案:(4) 由所用机器的机器字节长决定,31. 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则执行语句printf( %f ,pow(y,fabs(x)的结果为【 】,正确答案: 8.000000,32. 系统判断字符串结束的标志是【 】,正确答案:0,33. 当a=3,b=2,c=1时,表达式a b!= c 的值是【 】,正确答案:0 或假,34. 设y为int型变量,请写出描述 y是奇数 的表达式【 】,正确答案:y%2=1 或y/2*2!=y,35. 在C语言中,用【 】表示逻辑 真 值,正确答案: 1,36. 有int x,y,z;且x=3,y=-4,z=5,则表达式(x&y)=(x|z)的值为【 】.,正确答案:1 或真,37. 一个C语言源程序中至少应包括一个【 】,正确答案:main函数 或主函数,38. 若a=6,b=4,c=3,则表达式a&b+c|b-c的值是【 】,正确答案:1,39. 为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与【 】配对,正确答案:之前最近的还没有配对的if,40. 在C程序中,数据可以用【 】和二进制两种代码形式存放。,正确答案:文本文件 或ASCII码,41. 有说明char s80 ,*p= HELLO! ;,执行p=strcpy(s,p);s0=h;后,puts(p)的结果是【 】,正确答案:hELLO!,42. 执行语句for(i=1;i+4; ); 后变量i的值【 】,正确答案:5,43. C语言中,形参的缺省的存储类说明是【 】,正确答案:自动 或auto,44. 若有以下定义和语句: int a4=1,3,5,7,*p; p= 则*-p的值是【 】,正确答案:3,45. 有说明char s80= abcd ,*p=s;,执行p+;后,puts(strcat(p, ABCD );的结果是【 】,正确答案:bcdABCD,46. 若有结构体定义: struct number int a; float f;n=1,5.6,*p= 则表达式(*p).a+(*p).f的值为【 】,正确答案: 6.6,47. 若有定义和语句: int a5=10,20,30,40,50,*p; p= 则*+p的值是【 】,正确答案:30,48. 函数的指针指的的是函数的【 】,正确答案:入口地址,49. 若用数组名做函数调用的实参,则传递给形参的是【 】,正确答案:数组的起始地址,50. 输入一个字符,如果它是一个大写字母,则变成小写字母;如果是小写字母,则变成大写字母;其它字母不变。 main() char ch; scanf( %c , ,正确答案: 【1】: ch=A & ch=Z 【2】: ch=ch-32 或 ch-=32,51. 下面程序的功能是将从终端上读入的10个整数以二进制方式写入名为“bi.dat”的新文件中。 #include FILE *fp; main() int m,j; if (fp=fopen(【1】,”wb”)=NULL) exit(0); for (m=0;m10;m+) scanf(“%d” , ,正确答案: 【1】: “bi.dat“ 【2】: &j 【3】: fp,52. 根据以下嵌套的if语句所给条件,填写switch语句,使之完成相同的功能,假设mark的取值在1-100之间。请填空。 if语句: if(mark60) k=1; else if(mark70) k=2; else if(mark80) k=3; else if(mark90) k=4; else if(mark=100) k=5;,switch语句: switch(【1】) 【2】:k=1;break; case 6:k=2;break; case 7:k=3;break; case 8:k=4;break; 【3】:k=5; ,正确答案: 【1】 : mark/10 【2】 : case 0: case 1: case 2: case 3: case 4: case 5: 【3】 : default,53. 从键盘中给整型数组a20输入20个正整数,求出a 中奇数的个数和奇数的平均值。,54. 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。编写3个函数:1.输入10个数 2.进行处理 3.输出10个数。,55. 有一分数数列S:2/1,3/2,5/3,8/5,13/8,21/13, 编程求解这个数列的前20项之和。,56. 执行下面的程序,输出结果是:【 】,#include “stdio.h” main() int j; int m32=10,20,30,40,50,60; for(j=0;j2;j+) printf(“%d,”,m2-jj); ,正确答案: 50,60,57. 执行下面的程序, 输入ABC, 运行结果为:,#include “stdio.h” #include “string.h” main() char ss10=“12345”; strcat(ss, 6789 ); printf(“%sn” ,ss); ,正确答案: 123456789,练习题,一、填空题,1C语言程序总是从( )函数开始执行。 2若有语句说明:int x=1, y=1, z=2; 以下表达式的结果是( )。 (xz)? x:xy+? x:y; 3C语言中while和do-while循环的主要区别是( )的循环体至少无条件执行一次。,main,2,do-while,4编译程序进行语法分析、代码生成和优化之前,由( )对源代码进行第一次处理。 5说明char s1=”china”, s210; 要将s1的值复制到s2中的正确语句是( )。 6若用数组名作为函数调用的实参,则传递给形参的是( )。 7说明:char s=”world”, *p; 执行语句p=s后, *(p+4)的值是:( ),编译预处理,strcpy(s2,s1),数组首地址,d,8. 已知: struct student long num; char name10; int age; stud; 对结构体stud中的成员num的正确引用是( )。,stud.num,9全局变量的作用范围是( )。 10C语言可处理的文件类型分为两类:文本文件和( )。,本文件,二进制文件,二、阅读程序,写出程序运行结果:,1. #include void main() int i=1; while(i=10) if(+i %2 !=0) continue; else printf(“%3d”,i); ,2. #include void main() int i,j,k; for(i=1; i=4;i+) for(j=1; j=(4-i); j+) printf(“ ”); for(k=1;k=(2*i-1)+5;k+) if(k=5) printf(“ ”); else printf(“*”); printf(“ n”); ,3. #include #define N 5 void main() int yNN, i,j; for(i=1;iN;i+) yii=1; yi1=1; for (i=3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论