收藏 分享(赏)

C程序设计参考题型.doc

上传人:dzzj200808 文档编号:2528173 上传时间:2018-09-20 格式:DOC 页数:13 大小:103.50KB
下载 相关 举报
C程序设计参考题型.doc_第1页
第1页 / 共13页
C程序设计参考题型.doc_第2页
第2页 / 共13页
C程序设计参考题型.doc_第3页
第3页 / 共13页
C程序设计参考题型.doc_第4页
第4页 / 共13页
C程序设计参考题型.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、3aebcC 语言程序设计参考题型说明: 本套练习题仅反映考试的题型,作为考前复习和参考。这些题目基本涵盖了课程的基本知识和重点内容。要利用好这些题目,关键不能靠死记硬背,而是通过题目掌握其涉及的知识点和程序所涉及的重要算法。一、单选题1. C 程序的基本构成单位是 【 】A)文件 B)命令 C)函数 D)语句2. 在 C 语言中,a是 【 】A)字符串常量 B)字符常量 C)变量 D)函数3. 在 C 语言中,“a=b=c=5 ”属于哪种表达式? 【 】A)关系 B)赋值 C)逻辑 D)非法4. 设 a、b 为整型,则表达式(a=2,b=5,b+,a+b)的值是 【 】A)2 B)6 C)7

2、 D)85. 若有以下变量定义:int b=2;float a=5;则表达式“ab”之值为 【 】A)2.5 B)2 C)3 D)5/26. 若 j=3,则表达式 (+j)+(j+)的值为 【 】A)6 B)7 C)8 D)107. 以下只能输入单个字符的函数是 【 】A)printf( ) B)puts( ) C)getchar( ) D)putchar( )8. 若 a 的原值为 4,则表达式“a*=a-=3”运算后,a 的值是 【 】A)13 B)4 C)3 D)19. 若 a=5、b=3、c=1,则表达式“abc”的值为 【 】A)0 B)1 C)3 D)510. 若有代数式:以下错误

3、的 C 语言表达式是 【 】A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*311. 下列能输出字符数组 str 中字符串的语句是A)printf(“%c“,str0); B)printf(“%s“,str);C)printf(“%s“,str); D)putchar(str);12. 若 p=float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值为 【 】A)2.5 B)2.75 C)3.5 D)018. 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f 值的数据类型为 【 】A)in

4、t B)float C)double D)不确定19. 有输入语句:scanf(“%d,%d“,为使变量 a、b 分别为 5 和 3,从键盘输入数据的正确形式为 【 】A)5 3 B)5,3 C)a=5 b=3 D)a=5,b=320. 定义如下变量和数组:int j;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是 【 】for(j=2; j=0; j-)printf(“%2d“,xj2-j);A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 921. 执行下面程序后,a 的值是 【 】#define SQR(x) x*xvoid main( ) int

5、a=10,k=2,m=1;a=SQR(k+m);printf(“%dn“,a);A)10 B)5 C)2 D)122. 以下叙述不正确的是 【 】A)在函数内部定义的变量是局部变量B)函数中的形式参数是局部变量C)全局变量的作用范围仅限于其所在的整个文件D)局部变量的作用范围仅限于本函数23. 设 a=3,b=4,c=2,d=1,则表达式“ab?a:cd?c:d”的值为 【 】A)4 B)3 C)2 D)124. 有以下程序段:x=-1;dox=x*x;while(!x);执行时,循环体执行的次数为 【 】A)0 B)1 C)2 D)不确定25. 以下不正确的 if 语句形式是 【 】A)if

6、(xyB)if(x=y) x+=y;C)if(x!=y) scanf(“%d“,D)if(xbc”属于哪种表达式? 【 】A) 关系 B) 赋值 C) 逻辑 D) 非法43. 以下不合法的 C 表达式是 【 】A) 10 | 8 B) 12=9+1 C) +5 D) x!=y44. 给定以下程序段:int n=10;while (n6) n-;printf(“%3d”,n);以上程序段输出结果是 【 】A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 645. 若 i,j 已定义为 int 型,则以下程序段中内循环总的执行次数是 【 】for (i=5; i0;

7、i-)for (j=1; j,错误的描述是 【 】A. 它是 C 语言的预编译命令 B. 在程序中该行尾部不需要分号C. 用于将 math.h 包含进来 D. math.h 是一个函数50. 下列 C 程序段的输出结果是 【 】int a=0;switch(a) case 0: printf(“a=0”);case 1: printf(“a=1”);default: printf(“default”);A. a=0 B. a=0default C. a=0a=1default D. default51. 已知:int a, x, y; 有语法错误的 C 语句是 【 】A. while(x) y

8、+; B. while(x+y=0) a+;C. while(xb | c 的值为_ 。4. 整数 m 既能被 3 整除又能被 4 整除的逻辑表达式为_。5. 若有定义:double a105; 则数组 a 中行下标最大值为_,列下标最大值为_。6. 若有定义:int a 1,4,6,5,8,9; 则 *(a+5) 的值为_。7. 设有如下定义 int a56,*p; 取数组元素 a42的地址放到 p 中的语句为_。8. 未加特别说明(说明为静态的)的全局变量是外部的,能被其它文件中的函数使用,而在引用它的文件中,需要用关键字_说明。9. 已知 a=10,b=20,则表达式!ab 的值为_。1

9、0. 写出 0void main( ) char ch;ch=getchar( );if (_)ch+=32;printf(“%c”, ch);2. 下面程序的功能是:求 1100 间的偶数和,请在_处填上合适内容,使程序完整。#include void main( ) int num, sum=0;for (num=2; numvoid main( ) int i, n;scanf(“%d”,for (i=2; _; i+)if (n%i=0)break;if (_)printf(“%d is a prime number.n”, n);elseprintf(“%d is not a pri

10、me number.n”, n);5. 如下程序实现字符串逆序#include #include void main() char *p1, *p2, c, s50;scanf(“%s”, s);p1=s;p2=s+strlen(s)-1;for(; ; p1+, p2-);printf(“The new string is %sn”, s);四、阅读程序1. include void main( ) char ch;int cnt1=0,cnt2=0;while (ch=getchar( )!=n)if (ch=aint a=0,1,2,3,4,5,6,7,8,9;for(i=0, j=9;

11、 i#include void main( ) char str1=“good“,str2=“morning“;int i, j;for(i=strlen(str1),j=0;str2j!=0; i+, j+)str1i=str2j;str1i=0;printf(“string1=%s“,str1);运行结果:_4. #include void main( ) int i, j, pos;float val, a10;for(i=0; ival)val=aj; pos=j;printf(“Max=%f,position:%d“, val, pos);本程序的功能是:_5. #include f

12、loat average(int x, int n) int i;float sum=0;for(i=0;ivoid main( ) char grade;scanf(“%c”, switch (grade) case A: printf(“85100n“); break;case B: printf(“7084n“); break;case C: printf(“6069n“); break;case D: printf(“void main( ) int a5=2,5,3,7,6, i, j, t;for (i=0; iaj+1) t=aj; aj=aj+1; aj+1=t; for (i

13、=0; ivoid fun( )auto int b=0;static int c=4;b+;c+;priintf(“b=%d c=%dn“, b, c);void main( )int i;for (i=0; i#include void main() char *p1, *p2, c, s50;gets(s);p1=s; p2=s+strlen(s)-1;for(; p1void main() int len(char *p);int length;char str80;gets(str);length=len(str);printf(“LEN=%dn”, length);int len(

14、char *p) int n=0;while(*p) n+; p+;return(n);此程序的功能是:_五、程序改错(要求:不得增加或删除语句,在括号中指出错误并在其后横线上更正。)1.下列程序用来求任意两整数的最大公约数,其中两处有误,请指出错误所在并将其更正。#include void main( ) int temp, m, n, x;printf(“Enter two numbers:n“);scanf(“%d,%d“, if (m1; x-)if (m%x=0printf(“n 最大公约数为:%d“,x);( ) ( ) 2.下列程序用“起泡法”对输入的 10 个字符按由大到小排序

15、,其中 5 处有误,请将程序改正。#include void main( ) void sort(char , int);char str10,*p=str;int i;printf(“输入 10 个字符:n“);scanf(“%s“, sort(*p,10);printf(“排序结果:n“);for(; pstr+10; )printf(“%c“, p+);void sort(char a, int m); int i, j;char c;for(i=1; im; i+)for(j=0; jm; j+)if(ajaj+1) c=aj, aj=aj+1, aj+1=c;( ) ( ) ( )

16、( ) ( ) 六、按要求编程1. 编写 0100 之间偶数之和的程序。2. 编程计算 1!+2!+3!+20!。3. 统计由键盘输入的任意一串字符中空格的个数。4. 编写程序找出 1100 之间的素数,并统计素数的个数。5. 打印杨辉三角形(10 行)。要求:使用二维数组和循环语句实现。11 11 2 11 3 3 16. 从键盘输入 10 个数,找出最大值与最小值,并计算它们的平均值。7. 写一个函数求两个整数的最大公约数,函数原型为:int gongyue(int m, int n),在主函数中从键盘输入两个整数,然后调用 gongyue 函数,并输出结果。8. 写一个函数对任意长度的字符串按由大到小排序,函数原型为:void sort(char str),在主函数中输入字符串,然后调用 sort 函数,并输出排序结果。9. 已知 Fibonacci 数列的前两项为 1,其后各项为前两项之和。用递归函数输出此数列的前 20 项,每行输出 10 个数。10. 使用指针将键盘输入的任意字符串进行逆序并输出。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报