版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自测题1答案一、填空题(每空1分,共29分)1、若有以下的定义:int a;则数组a元素的下标的上限为 ,下限为 0。2、局部的变量是在函数内部定义的,它们只在本函数 有效。3、组成C程序的若干函数中,只能且必须有一个 主 函数。4、C语言中的变量名可以由字母 , 数字 和 下划线 三种字符组成,且首字符不能是o5、枚举类型 enum color (bla, blu, gre=3, cya, red)中的枚举项的值bla=_0_、blu=_1_、cya=_4_、red=_5.6、c语言中变量的存储属性有自动、静态、_外部和寄存器四种。7、算术运算符,关系运算符,赋值运算符的优先级从低到高依次是
2、赋值 运算符_ ,关系运算符_算术运算符。8、标准文件是系统自动打开和关闭的,但是一般用户文件,必须在程序中 用函数_fopen( )_打开文件,文件操作结束后,用_fclose( )_关闭文件。9、函数参数有形式参数和实际参数两种形式。0、程序的三种基本结构是顺序结构,选择结构,循环结构。11、x、y z均为int型变量,请写出描述“ x或y中有一个小于z 的表达 _xz| |yz_o12、下面程序的运行结果是:cl二c, c2二abc# include main()char s10二 abc ;printf( acl=%c, c2=%sn”,s2,s);13、如果 a=5, b=2, c=
3、3, d=4,则表达式 aba:cdc:d 的值是 3。14、设a=6, b=2,表达式a*=a+b运算后a的值为 48。15、设 x=., a=9, y=,表达式 x+a%2* (int) (x+y)%2/4 的值。二、选择题(每小题2分,共26分)1、一个C程序的执行是从A) 本程序的main函数开始,到main函数结束。B) 本程序的第一个函数开始,到本程序最后一个函数结束。C)本程序的mMn函数开始,到本程序文件的最后一个函数结束。D)本程序的第一个函数开始,到本程序main函数结束。2、下面的四个选项中,均不是合法的用户标识符的选项是BA) BB) baC) floatD)23M_0
4、goto2abtempDoint_AINT6、请问:下面这个程序段的输出是什么Dint a=7, b=8, c=9;if(ab或cb&cd)为真。(V ) 7、如果有:int data10 ;int *p;则语句 p=data 和 语句 p=&data0等价。(7)8、联合类型是在同一个存储空间,可以为几个不同数据类型的成员 所使用。(X)、一个数组能够存储许多不同类型的值。四、阅读下列程序,请将运行结果写在答题卡上(每题3分,共15分)。2.#includemainOchar s=456789;s4N 0,;printf(*%sn* s);运行结果45671.#include ttdefin
5、e SQR(y) y*y mainOint a b=4; a=SQR(b+l);printf(a=%dn, a);运行结果253.4.#includemainO int i=l;while (i=10)辻(!(i%2)printf (%d, , i);i+;运行结果1,3,5,7, 9#include mainO char *s=China Beijing 2008 OlympicGames材;char *p;P=s;while (*p)!=,9p+;P 0,;printf ( sn , s);printf(”%sn, +p);运行结果 China Beijing 2008 Olympic G
6、amesChina5.#includemainOint x=l, y=l,m=l,n=l;swtich (m) case 0: x=x+2;case 1: swtich (n) case 1: x=x+2;case 2:y=y*2;break;case 3: x+;case 2: x+; y+;case 3: x*=2;y*=2;break; default :x+;y+;printf ( x=%d, x, y);运行结果x二& y=6五、编写下列程序,(共15分)1. 试编写一个程序计算a!+b!+c!,并要求有输出结果.解:#includefact(int);void main()int
7、a, b, c;printf (” Enter three numbers:n ;scanf (“d, %d, %d”,&a, &b, &c);printf(%d!+ %d!+ %d!= %d +%d+%d nw , a, b, c, fact(a), fact(b), fact(c);return;fact(int n)int resuIt;if (n=l) return(l);result=fact (n-1) *n;/* 递归调用*/return(resuIt);2. 编写一个程序,将一组数据6, 5, 8, 1, 0, 4, 7, 3, 2, 9按从小到大的顺序排列,程序显示排序前和排
8、序后的结果。解:#include #define N 10main()int aN= 6, 5, 8, 1, 0, 4, 7, 3, 2, 9int i, j, t;printf( The array before sorted:);for (i=0;i9;i+)for (j=i+l;j10;j+) t=ai;ai=aj;aj=t;for (i=0;i a);执行时输出的结果是a=,(用大写字母U表示空格)。8. 执行下面程序段时输出的结果是7_。#include main ()int i=5;swit ch(i) case 5:case 6: i+=2;9.以下程序的输出结果是_3。#inc
9、ludemain()inta10=l, 2, 3,4, 5, 6, 7,8,9,10,*p=a; printf(”dn *(p+2);case 7: break;case 8: i+=2;printfi);语言中有5种基本数据类型。它们是字符型,整型,_浮点 长浮点型(双精度型)_和_无值型,其关键字分别是:char, int, _fload, _double和_void。二、单项选择题1. 在程序中可以用来作为变量名的合法的标识符是:CA static B 23_bl C stu_lt D #332. 下列运算符运算级别最高的是:A & B += C = D !3. 已知:char strl
10、, str210;选择正确的输入语句 AA scanfAstrl, str2); B scanfftstrl, str2);C scanfAstrl, str2); D scanf (%s%c, Astrl, str2);4. 选择正确的运行结果:_D #include ”main () int a=l, b=10;do a+;b-二 a;b;while (b0);printfb=%d*, a, b);A a=2, b=-l B a=2, b=-2C a=4, b=-l D a=4, b=-25. 以下正确的描述是:BA continue语句的作用是终止整个循环的执行。B continue语句
11、的作用是结束本次循环的执行。C continue语句和break语句都可以在switch语句中使 用。D break语句的作用是结束本次循环的执行。三、程序改错1ttinclude main() int a, b, c;a=7;b=8;add ();改为c=add (a, b)printf ( The result is%d , c);int add (int x, int y) int z;z=x+y;renturn z;2. 统计字符串中小写字符的个数。 include main()char str20;int i,n=O;gets();for (i=0;stri!=V0i+)改为0if
12、(stri=, a &stri=, z )n+;printf(%dn, n);3.includeO # includeOfun( int *s, k)int i;for(i=0;ik;i+)si+=5;return skTmainOint a5=l, 2, 3,4, x ;x=fun (a, 5);printf (%cT x);4. include main()int a, b, c, sum;a=l;b=2;scanf ( %d” , &c);sunFa+b+cprintf( sum=” , sum)改为:#include main ()int b, c, sum;a=l;b=2;scanf
13、 ( %d , &c);sum=a+b+c;printf ( sum=%d , sum);2.#include main()chars=123456; s4X 0;printf (%siT, s); 四、阅读下列程序,写运行结果1.#includemain() int m=5;if (m-H-5)printf (*%dn*, m); else printf(%dn,);3.#include main() int i=l;while(i=10) if(Ki%3)printf (%d, , i);i+;)运行结果_3, 6, 95.#includemain() int x=20, y=15;if
14、( xy) swap(&x, &y); printfx);swap (int *pl, int *p2) int emp;temp=pl;P1=P2;p2=temp;运行结果154.#includemain()inta3 3 = 3, 2, 2), 4, 5, 6, -2,9,2;int i, j, s=0;for(i=0;i3;i+)for(j=0;j3;j+)if(i = = 2-j) s=s+aij;printf (s=%d, s);运行结果_5五、编写下列程序1. 应用动态存储单元编写一个程序,计算两个浮点数之和。申请用于存储3个浮点数的动态存储空间。得到所要求的存储空间后, 向里面存
15、储两个数据与他们的和,接着输出这些数据。然后将所申请的存储空间 退回系统。#include#includemain()float 床prt;prt=malloc(3*sizeof (float);if(!prt)printf ( out of memory” );elseprintf( n Enter two numbers:);scanf( “d%d , prt,prt+1);* (prt+2)=*prt+*(prt+1)printf( The sum is %dn”(prt+2);free (prt);return 0;2. 求下面一元二次方程的根。ax +bx+c=0解:# includ
16、eO#includefloat XI, X2, p, q, d;/*全局变量*/float greater_than_zero(float,float);float equal_to_zero (float, float); float equal_to_zero(float, float);float smaller_than_zero(float, float);main()float a, b, c;printf ( Enter a, b, c:);scanf(, &a, &b, &c);d=b*b4*a*c;if(d0) greater_than_zero (a, b);printf
17、(Xl=%t, X2=%n, XI, X2);else if(d=0)equal_to_zero(a, b);printf( “Xl=X2=%n” , XI);elsesmeller_than_zero (a, b);printf( Xl=%+%n ,p, q);printf ( X2二%n , p, q);return 0;float greater_than_zero(float x, float y)Xl= (-y+sqrt (d)/(2*x);X2=(-y-sqrt(d)/(2*x);Return;float equal_to_zero(float x, float y)Xl=(-y)
18、/(2*x)return;float smaller_than_zero(float x, float y)p=-y/(2*x);q=sqrt (-d)/(2*x);return:自测题3答案一、填空题1、x、y、z均为i n t型变量,请写出描述“x或y中有一个小于z” 的表达 _xz| |yz_o2、下面程序的运行结果是:cl二c, c2二abc# include main()char s10 = abc ;printf ( acl=%c, c2=%sn , s2, s);3、如果 a=5, b=2, c=3, d=4,则表达式 aba:cdc:d 的值是 3。4、设a=6, b=2,表达
19、式a*=a+b运算后a的值为 48。5、设 x=., a=9, y=,表达式 x+a%2* (int) (x+y)%2/4 的值。6、凡是函数中未指定存储类别的局部变量,隐含的存储类别为aut。7、在c语言中,一个函数一般由两个部分组成,它们是首部、函数体。8、执行下列程序段后,* (p+1)的值是b , * (p+2)的值是0 . char c3= ab , *p; p=c;9、在c语言中,调用函数时,如果形参是简单变量,对应的实参可以是变 量、数组元素和常量,当形参和实参都是变量时,数据的传递是单向值传递。10、说明预处理命令 #define xyt (x, y) ( int t; t=x
20、; x=y; y=t)的功能 是用宏名定义xyt(x, y)定义了将x、y两个参数交换。二、选择题1、以下选项中不合法的用户标识符是:BB. f订e C. a$ D. Dim2、TURBO C中int类型变量所占字节数是:BA. 1 B. 2 C. 3 D. 43、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输 入语句是: DA. read (a, b, d)B scanf ( %d%d%d , a, b, c)C. scanf ( “%D%D%D”,&a, &b, &c)D.scanf ( “d%d%d” , &a, &b, &c)4、以下程序段的输出是:Bprintf
21、( “ % n,;A. |B. |c. | D. II5、在C语言中,要求运算数是整型的运算符是AA) /B) +C) ! = D) *6、有输入语句:scanf( “a=%d, b=%d, c=%d” , &a, &b, &c);为使变量 d,b,c 的值分别为1, 3, 2,从键盘上输入数据的正确形式应当是 A)132 回车D)a=l, b=3, c=2回车C)a=l b=3 c=a回车 B) 1, 3, 2 回车7、当a=l, b=3, c=5, d=4时,执行完下面一段程序后x的值是Bif ( ab )if (cd ) x=l;elseif (ac)if (by|a 个函数 float
22、 div (float x, float y),其函数原型说明为 float div(float x, float y).(V )10结构成员名可以与程序中的变量同名,也可以与结构类型名相同四、阅读下面程序,请写出运行结果(每题3分,共15分)1.以下程序的输出结果是2. include mainO int i=O, a=O;while(i20) for(;) if(i%10)=0) break; else i;i+=U; a+=i;printh (*%dn*, a);100 10322.下面程序的运行结果是:#define N 10#define s(x) x*x#define f(x) (x*x)main ()int il, i2;il=1000/s(N);i2=1000/f(N);printf(*%d %dn, il,i2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度精密产品模具设计与委托加工服务合同4篇
- 2025年休闲公园场地租赁合同印花税缴纳规范2篇
- 专业发艺师2024服务协议样本版A版
- 2025年度智慧农业园区场商位租赁与农产品上行合同4篇
- 专用消防系统增补协议样本2024版A版
- 2025年度多功能铲车租赁服务合同范本4篇
- 2025年度文化创意产业合作开发合同7篇
- 2025年度可打印PAD与智能教室系统配套合同3篇
- 2024蔬菜种植合作社与社区团购平台合作协议范本3篇
- 2025年度拆伙协议书范本下载4篇
- 2024年职工普法教育宣讲培训课件
- 金蛇纳瑞企业2025年会庆典
- 安保服务评分标准
- T-SDLPA 0001-2024 研究型病房建设和配置标准
- (人教PEP2024版)英语一年级上册Unit 1 教学课件(新教材)
- 全国职业院校技能大赛高职组(市政管线(道)数字化施工赛项)考试题库(含答案)
- 2024胃肠间质瘤(GIST)诊疗指南更新解读 2
- 光储电站储能系统调试方案
- 2024年二级建造师继续教育题库及答案(500题)
- 小学数学二年级100以内连加连减口算题
- 建设单位如何做好项目管理
评论
0/150
提交评论