C语言学习-预习复习题库.doc

上传人:一*** 文档编号:808926 上传时间:2019-07-16 格式:DOC 页数:27 大小:68.38KB
返回 下载 相关 举报
C语言学习-预习复习题库.doc_第1页
第1页 / 共27页
C语言学习-预习复习题库.doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《C语言学习-预习复习题库.doc》由会员分享,可在线阅读,更多相关《C语言学习-预习复习题库.doc(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、一、填空:一、填空:1.整型数据变量声明中所使用的关键字是 int 。2.设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4 的值为 2.5 。3.printf(“My age is %d.”, age); 函数中,使用%d 表示输出的是 整型 类型的数据。4.每个源程序有且只有一个 主 函数,系统总是从该函数开始执行 C 语言程序。5.设 int x=5,y,z;执行 y=z=x;x=y=z;后,变量 x 的结果是 1 。6.C 语言中,数组在内存中占一片 的存储区,由 代表它的首地址。数组名是一个 ,不能对它进行赋值运算。7.函数的

2、参数为 char *类型时,形参与实参结合的传递方式为 。8.C 程序编译、连接后生成 程序。9.当 a=10,b=4,c=2 时,表达式 f=abc 的值是 。10. 字符串数组与字符数组的在长度至少 一个元素。11. 若函数的形式参数是指针类型,则实参可以是 或 。12. 如定义语句为 char a = “windows“,b = “7“;,语句 printf(“%s“,strcat(a,b);的输出结果为 。13. 请在下面的程序段中填写正确的格式说明符:int main(void) float salary;printf(“Enter your desired monthly sala

3、ry: .”, salary);14. C 程序编译后生成 程序。15. C 语言的标识符只能由 、数字和 三种字符组成。16. 设有定义 int y; ,分别写出描述“y 是偶数”的表达式 ,“y 是奇数”的表达式 。17. C 语言没有字义专门的字符串变量类型,而是把它存储在 数组中。18. 字符串常量“22a,0n“的长度是 。19. 字符串存储到数组中时,在数组的最后将增加一个标记字符串结束的字符 。20. 设有定义语句 static int a34 =1,2,3; 则 a10值为 ,a11 值为 ,a21的值为 。21. 假设 int a=7; 执行语句 a+=a-=a*a; 后,a

4、 的值是 。22. 若自定义函数要求返回一个值,则应在该函数体中有一条 语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个 类型说明符23. 若 x 和 n 都是 int 型变量,且 x 的初值为 12,n 的初值为 5,则计算表达式 x%=(n%=2)后 x 的值为 。24. 设 int x=10, y, z; 执行 y=z=x; x=y= =z;后,变量 x 的结果是 。25. 求解赋值表达式 a=(b=10)%(c=6),则“表达式值、a、b、c ”的值依次为 , , , 。26. 求解逗号表达式 (x=a=3,6*a )后,“表达式值、x、a” 的值依次为 , , 。27.

5、变量的指针是指该变量的 。28. C 语言中,逻辑值“假”用 表示,逻辑“真”用 1 表示。29. 若有定义:int a=1,3,5,7,9,11,13,*p=a;则*(p+2)的值是 ,为什么 。30. 判断变量 a、b 的值均不为 0 的逻辑表达式为 。31. C 语言的变量名可以使用的字符包括大写字母、小写字母、 和下划线,而且必须以 和 开头。32. 若有定义:char a=a,b, c, d, e, f, g,*p=a;则*(p+2)的值是 。33. C 语言中,数组的各元素必须具有相同的 ,元素的下标下限为 ,下标必须是正整数、0、或者 。34. 在 C 语言中,在内存中存放二维数

6、组元素的顺序是 。35. 假设在一维数组 a20中,元素 a4的指针为 p,那么 p+4 所指向的数据元素是 。36. 下面程序块执行完成后,m 的值是 。m=1; n=263;dom*=n%10;n/=10; while(n);37. 标准 C 语言程序总是从 开始执行的。38. 执行语句 for(i=1;i+=0);49. 已知:int a23=1,3,8,则 a11的值为 。 50. 字符串常量“22a,0n”的长度是 。51. 如果一个函数没有返回值,那么该函数的类型为 。52. C 语言表达式 5278 的值是 。53. 若有定义:char ch;(1)定义指针 p,并指向变量 ch

7、 的语句是 。(2)若已定义 char *p;,使指针 p 指向变量 ch 的赋值语句是 ; 。(3)在(1)的基础上,通过指针 p 实现变量 ch 读入字符的 scanf 调用语句是 。(4)在(1)的基础上,通过指针 p 给变量 ch 赋字符a的语句是 。(5)在(1)的基础上,通过指针 p 用格式输出函数 printf 输出 ch 中字符的语句是 。54. 输入一个字符,判断该字符是数字、字母、空格还是其他字符。main( ) char ch;ch=getchar();if( )printf(“It is an English charactern“);else if( )printf(

8、“It is a digit charactern“);else if( )printf(“It is a space charactern“);printf(“It is other charactern“); 55. search 函数的功能是从数组 a10中对关键字 m 进行查找,请填空完成程序,实现功能。#include int search( int a10, int m) int i;for(i=0; i0) i= ;else j=j+1;printf(“i=%4d,j=%4dn”,i,j);57. 编程计算 13599 的值main() int i, sum = 0;i=1;wh

9、ile ( )sum = sum + i; printf(“sum=%dn“, sum);58. 有一个一维数组存放 10 个学生的成绩,用一个函数求平均分、最高分和最低分#include;void main() float average(float array, int n);float ave, score10;int i;printf(“please enter 10 scores:“);for(i=0; iMax) Max=arrayi;else if(arrayivoid main() int a10,i,x;printf(“input 10 integers:”);for(i=0

10、;iint main() int i,j,row=0,colum=0,max;int a34; for (i=0;i (2) ) t=stri;_;_; 62. 下面程序的功能是比较字符数组 a 和字符数组 b 中的两个字符串是否相等(比较对应字符,全部相同输出 0,如果不同,返回第一个不相同的字符差值,并输出)。#include int main(void)char a100=“Hello World!“;char b100=“Hello Chengdu!“; ;/* 完成对应字符的比较,并判定一个字符串是否结束了*/while( ) i+;printf(“%dn“, ai-bi );ret

11、urn 0;63. 程序填空:编程计算 135+101 的值。#include int main(void)int i, sum = 0;for (i = 1; ; )sum = sum + i;printf(“sum=%dn“, sum); return 0;64. 编写程序,输入一个数字字符(09)存入变量 c,把 c 转换成它所对应的整数存入 n,如:字符0所对应的整数就是 0。请填空。#include void main() char c;int n;printf(“please input a char:n”);c = ;n = ;printf(“%c %d”,c,n);65. 下面

12、的程序是输出数组中最大元素的下标(p 表示最大元素的下标)。#include void main() ;int s=1,-3,0,-9,8,5,-20,3;for(i = 0,p = 0;i sp) ;66. 以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.#include int main(int argc, char* argv)float x,amax,amin;scanf(“%f“,amax=x; amin=x;while( ) if(xamax) amax=x;if( ) amin=x;scanf(“%f“, printf

13、(“namax=%fnamin=%fn“,amax,amin); return 0;二、选择二、选择1.若有说明语句“int a5,*p=a;”,则对数组元素的正确引用是 。A.ap B.pa C.*(p+2) D.p+22.在 C 语言中,以 作为字符串结束标志A.n B. C.0 D.03.下列数据中属于“字符串常量”的是( A ) 。A.“a” B.ABC C.abc0 D.a4. 对二维数组的正确定义是 A.int a =1,2,3,4,5,6; B.int a2 =1,2,3,4,5,6;C.int a 3=1,2,3,4,5,6; D.int a2,3=1,2,3,4,5,6;5.

14、 若变量已正确定义并赋值,下面符合 C 语言语法的表达式是( ) 。A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b6. C 程序的基本结构单位是:A、文件 B、语句 C、函数 D、表达式7. 下面程序段中循环体的执行次数是:int a=10,b=0; dob+=2;a-=2+b; while(a=0);A、1 B、2 C、3 D、48. 以下可用作 C 语言用户合法的标识符的是:A、B.C.Tom B、3a6b C、_6a7b D、ABC9. 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 c3=1.0/c2*c1;,则执行后,

15、c3 中的值是( ) 。A、0 B、0.5 C、1 D、211. 设整型变量 a=2,则执行下列语句后,浮点型变量 b 的值不是 0.5 的是( ) 。A、b=1.0/a B、b=(float)(1/a) C、b=1/(float)a D、b=1/(a*1.0)12. 已知 char x=“hello“, y=h,e,a,b,e;, 则关于两个数组长度的正确描述是( ) 。A、相同 B、x 大于 y C、x 小于 y D、以上答案都不对13. 以下选项中,不能作为合法常量的是( )。A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e014. C 语言中运算对象

16、必须是整型的运算符是( )。A、%= B、/ C、= D、book line# His.age 48. 在 C 语言程序中,表达式 5%2 的结果是 。A、2.5 B、2 C、1 D、349. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是 A.1 B.4 C.4.333333 D.4.650. 一个 C 程序的执行是从:A、本程序文件的 main 函数开始,到本程序文件的最后一个函数结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C、本程序的 main 函数开始,到 main 函数结束D、本程序文件的第一个函数开始,到本程序的

17、main 函数结束51. 若给定条件表达式(M)?(a+):(a-),则期中表达式(M):A、和(M=0)等价 B、和(M=1)等价 C、和(M!=0)等价 D、和(M!=1)等价52. 以下对一维数组 a 的正确说明是: D A、char a(10); B、int a; C、int k5,ak; D、char a3=a,b,c;53. 设 char *s= “ta017bc “; 则指针变量 s 指向的字符串所占的字节数是:A、5B、6 C、7 D、954. 调用语句“func(exp1,exp2),(exp3,exp4,exp5));”中含有 个实参。A、2 B、3 C、4 D、155.

18、若有定义“int a10;” ,则对 a 数组元素的正确引用是:A、a10 B、a10-10 C、a(5) D、a3.556. 下面程序段的运行结果是:char c5=a,b,0,c,0;printf(“%s”,c);A、abB、ab C、abc D、abc57. 语言规定,在一个源程序中,main 函数的位置:A、必须在最开始 B、必须在系统调用的库函数的后面C、可以任意 D、必须在最后58. 能够完成如右图所示函数计算的程序段是:A、y=-1; if (x!=0) if (x0) y=1; else y=0;B、y=-1; if (x0) y=1; else y=0;C、y=0; if (

19、x=0) if (x0) y=1; else y=-1;D、if (x=0) if (x0) y=1; else y=0; else y=-1;59. 若 w=1,x=2,y=3,z=4,则条件表达式 wx?w:y #define N 4 main() int i; int x1=1,x2=2; printf(“n“); for(i=1;i #define PRAISE “What a super marvelous name!” int main(void) char name40; printf(“whats your name? n”); scanf(“%s”, name); print

20、f(“Hello, %s, %s n”, name, PARISE); return 0; 3. 写出下面程序的输出结果(name 变量输入的字符串是 John)#includemain( ) char ch;ch=getchar( ); switch(ch) case A : printf(“%c”,A);case B : printf(“%c”,B); break;default: printf(“%sn”,”other”); 4. 写出下面程序的输出结果(name 变量输入的字符串是 John)#include int min( int x, int y ) int m;if ( x y

21、 ) m = x; else m = y;return(m); main() int a=3,b=5,abmin ; abmin = min(a,b); printf(“min is %d”, abmin); 5. 写出下面程序的输出结果(name 变量输入的字符串是 John)#include main() int x, y =0; for(x=1;x=10) break; y=y+x; printf(“%d %d”,y,x); 6. 写出下面程序的输出结果#include void main( ) static char a=“program“; char *pa=while(-pa=a)

22、 putchar(*pa); putchar(n); 7. 写出下面程序的输出结果#include int f( int n ) if (n=1) return 1; else return f(n-1)+1; void main() int i, j=0; for(i=1; i void main() int a33=2,4,6,8,10,12,14,16,18,i,s=0; for (i=0;i main() float a,b,c,t; a=3; b=7; c=1; if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; if(bc)t=b;b=c;c=t;print

23、f(“%5.2f,%5.2f,%5.2f“,a,b,c); 10. 写出下面程序的输出结果#include int main() int f(int); int a=2,i; for(i=0;i int main() int a,b,c,x; a=b=c=0; for (int i=0;i int main(void ) int sum=10,n=1; while(n int fun(int x) int y=0;static int z=3;z+;+y;return(x+y+z); void main( ) int i,x=2;for(i=0;i main( ) char s=”abcdef

24、g”;char *p;p=s;printf(“ch=%cn”,*(p+5); 15. 写出运行结果#include void main( ) int i, a=1; for(i=1;i main( ) int a =1, 2, 3, 4, 5, 6;int x, y, *p;p = x = *(p+2);y = *(p+4);printf(“*p=%d, x=%d, y=%dn”, *p, x, y); 17. 写出运行结果#include void main( ) int a, b, k=4, m=6; int *p1= a=p1= b=(-*p1)/(*p2)+7; printf(“a=%

25、dn“, a); printf(“b=%dn“,b); 18. 写出运行结果#include char s=”ABCD”; main() char *p;for(p=s;pint a1=300,a2=400;void sub1(int x,int y) a1=x;x=y;y=a1;void main( )int a3=100,a4=200;sub1(a3,a4);sub1(a1,a2);printf(“%d,%d,%d,%dn“,a1,a2,a3,a4);20. 阅读程序,遵循指令写出运行结果。#include void add() int x = 0; static int y = 0; p

26、rintf(“%d,%dn“,x,y); x+; y = y + 2; void main() int i; for(i = 0;i int j=7; int func( ); void main( ) int x=10; x=func( ); printf(“%dn“,j); x=func( ); printf(“%dn“,j); int func( ) int k=2; k=k+j; j=j+10; return(k); 22. 阅读程序,遵循指令写出运行结果。# include main ( ) int x = 10, 20, 30, 40, 50 ; int *p ; p=x; pri

27、ntf ( “%d”, *(p+2 ) ); 23. 阅读程序,遵循指令写出运行结果。#include void main() float b6 = 1.1,2.2,3.3,4.4,5.5,6.6,t; int i; t = b0; for(i = 0;i void main( ) int x,c,m,y; scanf(“%d“, if (x#define N 4main( ) int i,j;for(i=1;isub( int x, int y, int *z ) *z=y-x; void main() int a, b, c;sub(1,10, sub(3, a, sub(a, b, pr

28、intf(“%d, %d, %dn“,a,b,c);27. 阅读程序,遵循指令写出运行结果。#include void main() int i; for(i=0;+i;ivoid main() char str=“ssswlia“, c;int k;for(k=2;(c=strk)!=0;k+) switch(c)case i:+k;break;case l:continue;default:putchar(c);continue;putchar(*);printf(“n“);29. 阅读程序#include int i=6;int func( );void main( ) int j=10

29、;j=func( );printf(“%dn“,j);j=func( );printf(“%dn“,j); int func( ) int k=0; k=k+i; i=i+10; return(k); 30. 阅读程序#include int gcd(int m,int n) if(m=n) return m; else if(mn) return gcd(m-n,n); else return gcd(m,n-m); void main( ) printf(“Gcd=%dn“,gcd(24,36); 31. 阅读程序#include void main() int i=5;char c6=“

30、abcd“;doci=ci-1;while(-i0);puts(c); 32. 阅读程序#include int Sub(int a, int b)return (a- b);main()int x, y, result = 0;scanf(“%d,%d“, result = Sub(x,y ) ; printf(“result = %dn“,result);四、程序设计四、程序设计1.输入 2 个整数,求两数的平方和并输出。 2.用递归方法求 n!3.用指针方法处理,输入 a 和 b 两个整数,按先大后小的顺序输出 a 和 b。4.输入一个圆半径 r,当 r0 时,计算并输出圆的面积和周长,

31、否则,输出提示信息。5.已知函数 y=f(x),编程实现输入一个 x 值,输出 y 值。2x+1 (x0) 6.编写程序,判断某一年是否闰年。7.从键盘上输入一个百分制成绩 score,按下列原则输出其等级:score90,等级为 A;80score90,等级为 B;70score80,等级为 C;60score70,等级为 D;score60,等级为 E。8.求 100200 之间的全部素数。9.编一程序每个月根据每个月上网时间计算上网费用,计算方法如下:小时小时小时元每小时元每小时元费用505010105 . 2330要求当输入每月上网小时数,显示该月总的上网费用(6 分)10. 有一个

32、34 的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号 和列号。11. 从键盘输入 10 个整数,统计其中正数、负数和零的个数,并在屏幕上输出。12. 用指针编写程序,输入一个字符串并逆序输出。13. 编程序实现求 1-10 之间的所有数的乘积并输出。14. 从键盘上输入 10 个数,求其平均值。15. 通过指针变量输出整型数组 a 的 10 个元素。16. 编程序实现求 1-1000 之间的所有奇数的和并输出。17. 有一个分数序列:2/1,3/2,5/3,8/5,13/8,编程求这个序列的前 20 项之和。18. 使用起泡法对 10 个整数进行升序排序。19. 从键盘输入两个数,求出其最大值(要求使用函数完成求最大值,并在主函数中调用 该函数) 20. 求一元二次方程 ax2+bx+c=0 的解。 (已知 a、b、c 为实数,且 a0,注意区分方程具 有两个相等根、两个不等根和两个复根三种情况)21. 编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数, 输出是否为素数。22. 从键盘输入 n 个数存放在数组中,将最小值与第一个数交换,输出交换后的 n 个数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com