已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单项选择题1有下列程序段落:int i,a5;for(i=0;ix)&(b=yz) ;后,a,b的值为( D)。 A 1和1 B 0和0 C 4和2 D 0和2 &前一条件为假,无论后面什么情况结果都为假13定义如下变量关系,则下面语句的输出结果是( D )。 int i; int x33=1,2,3,4,5,6,7,8,9; for(i=0;i2) n-; printf(“%d”,n); A 543 B432 C4321 D543217下列四种数组定义,合法的数组定义是( A)。 A char a =hello; B int a4=4,3,2,1,0; C char a=hello ; D char a4= hello;18设p1和p2均为指向int型的指针变量, k为int型变量,下列不正确的赋值语句是( C )。 Ak=*p1+*p2; Bk=*p1*(*p2) Cp2=k Dp1=p219有如下程序 ,该程序的输出结果是( C )。 void main(void) char s=“ABCD”,*p; for( p=s+1;pa C p-ab.a D p.ab.a25. 若要对E盘上的一个非空文件“w1.dat”进行修改,正确的打开语句是( D )。A fp=fopen(“w1.dat”,“r+”); B fp=fopen(“w1.dat”, “w+”); C fp=fopen(“E:w1.dat”,“r+”); D fp=fopen(“E:w1.dat”,“w+”);26语言程序的三种基本结构是 ( A )。顺序结构,分支结构,循环结构 递归结构,循环结构,转移结构嵌套结构,循环结构,顺序结构 递归结构,分支结构,顺序结构27能正确表达逻辑关系“0a1或0b1”的c语言表达式是( A )。. (0a)&(a1)|(0b)&(b1).(0a)|(a1)&(0b)|(b1). (0a1)&(0b1) . (0a1)|(0b=a . a%=a30定义如下变量和数组,则下面程序段落的输出结果是( A )。int i; int x33=0,1,2,3,4,5,6,7,8;for (i=0;i3;i+) printf (“%d ”,xi2-i);2 4 60 3 6 0 4 8 2 5 831以下叙述错误的是( D)。 一个C源程序可由一个或多个函数组成 B 一个C源程序必须包含一个main函数C C程序的基本组成单位是函数 D 在C程序中,注释说明只能位于一条语句的后面32C语言中运算对象必须是整型的运算符是( A)。 A %= B/ C = D =33有如下程序,程序运行后的输出结果是( B)。 main() unsigned int x=0xffff; printf(“%un”,x );A -1 B 65535 C 32767 D 0xFFFF34若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确代表该代数式的C语言表达式是(C)。A. sqrt(abs(nx+ex) B. sqrt(fabs(pow(n,x)+pow(x,e) C. sqrt(fabs(pow(n,x)+exp(x) D. sqrt(fabs(pow(x,n)+exp(x)35字符串“t12x42abcd”的长度是( B)。 A 14 B 9 C 15 D20 36以下叙述中错误的是( D )。A 计算机不能直接执行用C语言编写的源程序B C语言经C编译程序编译后,生成后缀为.obj的文件是二进制文件C 后缀为.obj的文件,经连接后生成后缀为.exe的文件是二进制文件D 后缀为.obj和.exe的二进制文件都可以直接运行37以下选项中,与k=x+;完全等价的表达式是( B)。 A x=x+1;k=x; B k=x;x=x+1; C k=x+1; D k+=x+1;38以下叙述中正确的是( C)。A break语句只能用于switch 语句中 B continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C break语句只能用在循环体内和switch语句体内 D 在循环体内使用break语句和continue 语句的作用相同39判断字符型变量 ch是否为大写英文字母的表达式为( B)。A A=ch=A& cha& ch=A| ch=Z40若表达式(m)? a+:a-, 则表达式m和( B)等价。 A m=0 B m!=0 C m=0 D m=141在c语言中,运算对象的逻辑值“真”用( B )表示。A false 非0 0 负数42已知函数原型声明为:char *www(char a, char b);该函数的类型为( A )。 指向字符型的指针 字符型 整型 指向整型的指针43设int类型的数据长度为2字节,则该类型数据的取值范围是( D )。 0至65536 0至65535 -32767至32768 -32768至3276744int a, *p, *w; p=&a, w=&p; 取a的值的表达式为( D )。 * * *w45语言程序的基本单位是( A )。A函数 B标识符 C表达式 D语句46判断字符型变量 ch 的值是否为大写英文字母的表达式为( B )。A. A=ch=A & cha & ch=A | chx) | (b=yz);后,a, b的值为 ( C )。 A1和1 B. 0和0C1和2 D. 4和248若有定义语句int a=1,2,3,4,5,6,7,8,9,10,*p=a; 值为 8 的数组元素的正确表示为( D ):A. a8 B. a+7 C. p+7 D. *(p+7)49下列程序运行结果是( A )。#define A 2#define AA A+A/2void main(void)printf(“%d,”,AA); printf(“%dn”,5*AA);A3,11 B3,15 C2,10 D8,4050若有如下定义,则对ex中的a成员的正确引用是( B )。 struct sk int a; float b; ex, *p = &ex;A. (*p).ex.a B. p-a C. p-ex.a D. p.ex.a二、填空题1在内存中存储一个字符 a 占用_1_个字节,而存储字符串 ”abcdef” 则占用_7_个字节。2表达式 4/5的值为_0_。3设 x=4.5,a=7,y=3.4, 表达式x+a%3*(int)(x+y)%2/4的值为_ 4.500000_。4设 a=14, 执行 a+=a=a*=a 后,a=_0_。5设x=y=z=6, 执行 x=(yz)?x+2:x-2; 后,x=_4_。6getchar( )函数用于输入_字符_, 而gets( )函数则用于输入_字符串_。7设有定义语句:char ww20=” twabn”; 则表达式:strlen(ww) 的值是_6 。8设有定义语句:char str7=”abcdef”, 则数组元素str2中的字符是_c_,数组元素str6中的字符是_0_。9函数中的形参和调用时的实参都是变量时,传递方式为_值传递_; 都是数组名时,传递方式为_地址传递_。10设有char *p=”12345”, 则printf(“%s”,p)的输出是_12345_;而 printf(“%c”,*p)的输出则是_1_。11若s是int型变量,且s=7,则表达式: s/2+(s+1)%2 的值为_3_。12C语言中,以 0x_打头的int常数是十六进制。13有说明语句char s=102; S包含了_1_个字符。14有数学表达式sinx+-6x,写出其对应的C语言的表达式 _sin(x)+sqrt(x)-6*x_。15有定义语句:int a3= 0,1,2 ; 则数组元素a12的值是 0 。16若程序中使用了函数strlen(),则必须包含的头文件名为_string.h_。17有如下程序,该程序的输出结果是 a=2,b=1 。void main(void) int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2: a+,b+; printf(a=%d,b=%dn,a,b);18. 若a函数中调用了b函数,而b函数又调用了a函数,这种调用称为_递归_调用。19函数调用时,若形参和实参均为数组名时,传递方式为 _地址传递_。20若有以下定义语句,则输出的结果是_4_。 char s1 =“abcdef”, *s2=“1234”; printf(“%dn”, strlen(strcpy(s1,s2); 21若宏定义为:#define y(x) 2+x 则表达式a=4+3*y(2)的值为 12 。22设有以下语句:static int a42=1,2,3,4,5,6,7,8;int (*p)2;p=a;则 *(*(p+2)+1)的值为 6。23在turbo C中,int型数据占2字节,则定义 struct node char x10;int y;union float a; long b; ab;t;后,sizeof(t)= 16 。24.设有一个名为“ww1.c”的C程序,其主函数为 main(int argc,char *argv),如果在执行时,输入的命令行为: ww1 aa bb cc则形式参数argc的值是_4_。25. 执行下列程序段后,(*q-1)的值为 _99_。int a,*p,*q;a=100; p=&a; q=&p;26C语言源程序中主函数名由系统规定为 _main_ ,程序员是不能改变的。27有数学表达式:-3,其C语言表达式为 _sqrt(x)-3_。28已知函数定义为:int stat(int a , float *p) . 则此函数的两个参数类型分别是整型 、 指向浮点型指针 。29设有数组a10;则首地址可以写成 _a或&a0_数组元素a3的地址可以写成_ &a3或a+3 _。30要使以下程序段中的函数调用语句printf(“*”);执行10次,应在 处填入整数 _19或20_。for( i=1;i=_;i+=2 ) printf(“*”);31用只读方式打开e:20051234目录下的名为 “aa.dat”的文件,正确的打开语句为 FILE *fp;fp=_fopen( “e:20051234 aa.dat”,”r”) _。32.判断两个浮点型变量x和y是否相等一般用:if( fabs(x y) 1e-6 ) 。33.已知赋值语句zhang.year =1985;可判断zhang是 结构体 类型的变量。三、程序分析题1 下面程序的运行结果为 5,6,5,0 #include void main( ) int a,b,c,d; a=4; b=6; c=+a; d=( ca & cb); printf(%d,%d,%d,%d,a,b,c,d);2. 下面程序的运行结果为 c=1 d=0.000000 #include void fun (int x, int y) int a, b; float d; a = x+14; b = y-4; d = (float)(b/a); printf (d=%fn, d); void main(void) int b=9, a=6, c; c = b/a; printf (c=%dn, c); fun( a, b );3设从键盘上输入 Hello World! 下面程序的运行结果为 hello world! #include void main( void ) char ss20; int i; gets(ss); for( i=0; ssi!=0; i+)if( ssi=A & ssi=Z) ssi = ssi+32 ; puts(ss);4下面程序的运行结果为 b=-10 i=33, b=0 i=75, b=33 #include int i=1;void other( void );void main(void) int b = -10; printf(b=%dn, b); other( ); i = i+10; other( ); void other( ) static int b; i=i+32; printf(i=%d, b=%dn, i, b); b = i;5下面程序的运行结果为 6, 45 2, 98 #include void main(void) int a10=78,89,98,66,54,76,45,82,62,95 ;int ka, ki, j;ka = ki = 0;for(j=1; jaj ) ki=j ;if (aka aj ) ka=j ; printf(“%d, %dn %d, %dn”, ki, aki, ka, aka ); 6. 运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9 10 下面程序的运行结果为 1 3 5 7 9 #include void main(void ) int i ,a 10 ; int *p;p = a; for (i=0 ; i10 ; i+ ) scanf ( “ %d” , p+ ) ; for (p=a ; pa+10 ; p+ )if ( *p % 2 ) printf ( “ %3d”, *p); 7下面程序的运行结果为 10, 101 0111 (要求注明输出格式!)#include void main(void) int a=10,b=11; int c=0,d=0; printf(%5d,%5dn,a+,-b); printf(%5d,a&b); printf(%5d,!a); printf(%dn,!c); printf(%5d,d+=a); 8下面程序的运行结果为1+1=2 1+2=3 1+3=4 2+2=4 2+3=53+3=6 #include void main(void) int i,j; for(i=1;i4;i+) for(j=i;j4;j+) printf(“%d+%d=%d ”,i,j,i+j);printf(“n”); 9下面程序的运行结果为 a=1,b=-5,c=0a=2,b=2,c=10a=3,b=-5,c=2 #includeint a=1,b;void fun(void);void main(void) static int c; int b=-5; printf(a=%d,b=%d,c=%dn,a,b,c); fun(); a+=1;c+=2; printf(a=%d,b=%d,c=%dn,a,b,c);void fun() int c=10; a+=1;b+=2; printf(a=%d,b=%d,c=%dn,a,b,c);10. 下面程序的运行结果为 ABCDBCDCD D #include main() char str5,*p; int i; for(i=0;i4;i+) stri=A+i; stri=0; p=str; while(pstr+4) printf(%sn,p); p+; 11下面程序的运行结果为 Input score:*No:1001Name:Wang yong Score:*.0 #includevoid main(void) struct studint no; char *name;float score; stu1,stu2; stu1.no=1001; =Wang yong; printf(Input score: );scanf(%f,&stu1.score); stu2=stu1; printf(No: %dnName: %snScore: %5.1fn,stu2.no,,stu2.score); 12. 下面程序的运行结果为 3,828 #includeint fun(int *a, int n) int i,k=0; printf(“%d,%dn”,*a,n);for(i=0;in;i+,a+) if(*a%2)continue;elsek+=*a; return k;void main() int aa10=1,2,3,4,5,6,7,8,9,10,s; s=fun(aa+2,8); printf(%dn,s);四、 程序设计题1. 有一分段函数: 2x + 5 (x=2) y= 3x - 4 (2x5) 编程序,输入变量 x的值,计算并输出y的值。#includeint main(void)int x, y;scanf(%d,&x);if(x 5)y = 7;else y = 3 * x - 4;printf(%d, y); 2由键盘任意输入9个整数,组成3行3列的二维数组,统计主对角线上元素的和。#includeint main(void)int a33,i,j,sum=0; for(i=0;i3;i+) for(j=0;j3;j+) scanf(“%d”,&aij); for(i=0;i=2;i+) for(j=i;j=i;j+) sum+=aij;printf(“sum=%d”,sum); 3编写程序,通过级数 求的值,要求精度为10-6 (即某项的绝对值小于10-6),输出结果的值。#include#includeint main(void)float pi=0,t=1,it=1;int s= 1;while(fabs(t)1e-6)pi+=t; it+=2; s=-s; t=s/it;printf(PI=%f,4*pi); 4编写一程序任意输入一串字符,统计其中大写字母的个数,并输出结果。#include#includeint main(void)char a1000;int i, count = 0;scanf(%s, a);for(i = 0; i = A & ai 0 y= 0 x=0 1 x0 输入x的值,输出结果。#include#includeint main(void)int x, y;scanf(%d, &x);if(x = 0)y = 0;else if(x 0)y = 1;else y = -1;printf(%d, y); 6输入6个整数,组成2行3列的二维数组,统计数组中的正数之和、正数个数以及负数之和、负数个数。#include#includeint main(void)int a6;int i,j = 0,j_number = 0,k = 0,k_number = 0;for(i = 0; i 0)j += ai; j_number+;else if(ai 0)k += ai; k_number+;printf(正数个数是%d,和为%d。n负数个数是%d,和为%d,j,j_number,k,k_number); 7编写子函数exps,求ex1+x+x2/2!+x3/3!.,要求精度为106。在主函数中输入x,利用子函数exps 求(ex+e-x)/2的值,并在主函数中输出结果。#include#includedouble exps(double x)double i,k = 1, sum = 1;double e = 0;for(i = 0; ;i+,k+)sum *= k;e = pow(x, i)/ sum;if( pow(x, i)/ sum pow(0.1, 6) ) break;return e;int main(void) float x; scanf(%f, &x); printf(%lf, (exps(x) + exp(-x)/2); 8一个班有45人,用a数组存放一门课的成绩,编程输入a的成绩,统计不及格(60分)的人数,并将成绩按降序排序,输出结果。(10分)#include#includeint main(void) int a45, i, j, temp, number = 0; for(i = 0; i 45; i+) scanf(%d, &ai); if(ai 60) number+; for(i = 0; i 44; i+) for(j = i+1; j 45; j+) if(ai aj) temp = ai; ai = aj; aj = temp; for(i = 0; i 50) printf(“%d”,a);if(a40) printf(“%d”,a);if(a30) printf(“%d”,a);31下面程序的运行结果是 -1 。main() int a=2, b=3, c; c=a; if(ab) c=1; else if(a=b) c=0; else c=-1; printf(“%dn”,c);32以下程序实现:输入三个整数,按从大到小的顺序进行输出。请填空。main() int x, y, z, c; scanf(“%d %d %d”, &x, &y, &z); if( xy ) c=x; x=y; y=c; if( xz ) c=x; x=z; z=c; if( yz ) c=y; y=z; z=c; printf(“ %d %d %d”, x, y, z);33如果运行时输入字符Q,则下面程序的运行结果是 Q 。main() char ch; scanf(“%c”, &ch); ch=(ch=A& ch=a& ch5 。36下列程序段的输出结果是 passwarn 。int n=c;switch(n+) default: printf(error);break; case a:case A:case b:case B:printf(good);break; case c:case C:printf(pass); case d:case D:printf(warn);37以下程序将两个数从小到大输出。 main() float a, b, t ;scanf( “%f%f” , &a, &b); if(ab) t=a; a=b ; b=t; printf(“%5.2f, %5.2fn”, a, b); 38若输入8642,以下程序的输出结果为 place=4,每位数字为:8,6,4,2 。 main() long int num;int gw, sw, bw, qw, ww, place; printf(“请输入一个099999之间的整数:”);scanf(“%ld”, &num);if(num9999) place=5;else if(num999) place=4;else if(num99) place=3;else if(num9) place=2;else place=1;printf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招投标项目供应链管理优化
- 商业广场楼面耐磨施工合同
- 篮球场水电布线施工协议
- 石油开采挖机计时租赁合同
- 商务楼宇治安管理规则
- 生物科技项目跟投管理
- 舞台座位分配指南
- 广告传媒库房施工合同
- 艺术展览设计审查策略
- 言语康复治疗师年终总结
- 潜油泵及潜油泵加油机讲义
- 物业服务公司各岗位规范用语
- 医患沟通内容要求记录模板(入院、入院三日、术前、术后、出院)
- Excel 会计记账模板-录入凭证自动生成财务报表(超实用)
- 航海学天文定位第四篇第6章天文定位
- 浅谈深度教学中小学数学U型学习模式
- 物理电学暗箱专题30道
- 装修公司员工劳动合同
- 江西上饶铅山汽车驾驶科目三考试线路
- 通过一起放火案件浅析放火案件的移交工作
- 南京农业大学学生在校学习期间现实表现证明
评论
0/150
提交评论