11年C语言考试题B卷答案
更新时间:2023-08-19 15:49:01 阅读量: 高中教育 文档下载
所在年级、班级 注意
四三二一、、、、试考姓密卷生名封印在、线刷答准内不题考不清前证准楚应号答。先不题可将许。举姓涂
手名改向、,监学否考号则教、试师年卷询级无问和效。班。
级
填写在指定的方框内。
卷号:A卷
二O一O —二O一一 学年第二学期
程序设计方法(一) 标答
( 08gb信管12班用)
注意:学号、姓名和所在年级班级不写、不写全或写在密封线外者,试卷作废。
一、 判断题(共5小题,每题2分,共10分 )
1. C语言中的变量可以在使用之前的任何位置进行定义。( T ) 2. 赋值语句属于表达式语句,是赋值表达式与分号组合而成。( T ) 3. 数组中各个元素的类型必须一致。 ( T )
4. 指针变量存放指定类型的数据内容。( F ) 5. 文本文件存储的数据是内存数据的映射,程序能方便使用文本数据。( F )
二.单选题(共10小题,每题2分,共20分 )
1. 设变量定义:int a, b ; double x=1.42; 符合C语言语法的表达式是( A ). A) a+=a- =(b*4)*(a=3);
B) x%( -3 );
C) a=a*3=2
D) x=float(a)
2. 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:( B ) A、0 B、1 C、2 D、不知道a的值,不能确定
3.已知a=1,执行语句if(a=2) printf(“yes”);else printf(“no”);后,输出的结果是(C)。 A、1 B、2 C、yes D、no
4.已知x=-1; 执行do {x = x * x; } while ( ! x) ;语句时,( D )。 A) 循环体将执行无限次 B) 循环体将执行两次 C) 系统将提示有语法错误
D) 循环体将执行一次
5. 程序已定义int a=2,b=2,c=2;,printf(”%d\n”,a/b&c); ,程序运行后的结果是(A)。 A)0 B)1 C)2 D)3
6. 若已定义语句char sl[10]= "abcd!", *s2="n123\\";,执行printf("%d %d\n",
strlen(s1),strlen(s2));,则输出结果是( B )
A) )10 5 B 5 5 C)10 7 D)5 8
7. 从函数出现的位置来看,函数调用方式不包括的选项为( C )。 A)函数语句 B)函数表达式
C)函数返回值 D)函数参数
8. 若有以下定义int x[10],*pt=x;则对x数组元素的正确应用是( D )。 A)*&x[10] B) pt+3 C)*(pt+10) D)*(x+3) 9. 已定义结构体变量struct { int day; char mouth; int year;} a, *p = &a;,以下引用成员变量的选项中错误的是( C ) A)a.day
B)p->month
C) *p.year
D)( *p ).day
10. 向文件中写一个数据块,使用的命令是( A )。 A)fread B)fwrite C)fputs D) fputc
三.填空题(共10小题,每题2
分,共20分 )
1、C语言是函数型语言,一个函数由(函数首部)和(函数体)两部分组成。 2、用int iA;定义变量后,确定了变量的(变量名)为iA,数据类型为(整型)。 3、C语言的基本语句包括声明语句、(空语句)、(复合语句)、控制语句、表达式语句、函数调用语句等基本语句。
4、break;语句可以使用在(多分支选择)结构和(循环)结构的语句之中。 5、 while循环语句中的条件表达式为真( 执行循环体 ),循环体中必须包括(修
改)循环变量值的语句。
6、 在C语言中,数组名是地址(常量 ),指向数组的指针是地址(变量)。 7、 在程序中不能嵌套(定义)函数,可以嵌套(调用)函数。
8、 在参数说明中的*号表示指针变量的(定义符),在执行语句中的*号表示指针变量的取内容(运算符)。
9、 定义共用体变量但没有定义指针时,引用成员变量的方法为:( 共用体变量名). ( 成员名 )。 10、打开文件用(fopen
)命令,关闭文件用(fclose)命令。
四、改错题:(共5
小题,每题2分,共10分
)
1. 如下程序使用逻辑表达式为变量赋值,改正程序中的错误。 #include <stdio.h> main() { int a,b,c; double w=1.2;
(a=2) || (b=4); // (a=2) && (b=4); c=int(w+a)+int(w+b); // c=(int)(w+a)+(int)(w+b); printf("c=%d \n",c); }
1
2. 改正if - else语句中的错误。 #include <stdio.h> main()
{ double a=1, b, c;
/********** found **********/
xcanf("%d",&b); // scanf("%f ",&b); if(b=1);c=a-b; // if(b = = 1) c = a - b; else c=a+b; printf("c=%d \n",c);
}
3. 求n的阶乘n!,请改下程序中的错误。 #include <stdio.h>
main( )
{ int k, n, In;;
/********** found **********/ scanf(“%d,%d”, k,n ) ;
for(k=1,l>=n,k++; ) // for(k=1; k<=n; k++) In = * K // In *= k ; printf(“%d\n”, In) ; }
4. 子函数的功能是将字符串中的小写字符转换成大字字符,更正子函数调中的错误。
/********** found **********/ void fun(char * x )
{ if( a <=x<='z' ) // if( *x>='a' && *x<='z' ) x=x-32 ; // *x=*x-32 ; } main( )
{ char a[6]={"12ab3"}; int k = 0 ;
for( k=0; k< 6; k++) fun( &a[k]); printf("%s\n",a); }
5.结构体struct students类型变量定义如下,改正程序中的错误。 #include <stdio.h> typedef struct students { char name[16]; char sex; int age; char addr[20]; } STUD;
/********** found **********/ main() {
typedef struct students stu={"wangFeng",'M',19,"wuhan"}, *s=&stu; printf("name=%s,age=%d,addr=%s\n",,s->age,*s.addr); }
// STUD stu={"wangFeng",'M',19,"wuhan"}, *s=&stu;
// printf("name=%s,age=%d,addr=%s\n",,s->age,(*s).addr);
五、读程序写结果:(共5小题,每题4分,共20分 ) 1. 阅读if-else-if结构的程序,试分析程序的输出结果。( 4 ) #include < stdio.h > main()
{ int a=1,b=2,c=3,d=0; if (a = = 1) if (b!=2)
if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf("%d\n",d); }
2、阅读二维数组,并写出输出结果。(5689)
2
#include <stdio.h>
main ()
{ int i,j,a[3][3]={1,2,3,4,5,6,7,8,9}; for (i=1; i<3;i++)
for(j=1; j<3; j++) printtf(”%d”, a[i][j]); printf(”\n”); }
3.运行以下程序,写出输出结果。agaagag #include <stdio.h> #include <string.h> fun(char *w, int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2--; *s2=t; }
} main( )
{ char a[]="abcdefg",*p=a; fun(p,strlen(p)); puts(p);
}
4、阅读结构体程序,写出输出结果。
#include <stdio.h> // 输出结果为( a, 11,22, 18.750000 )main()
{ struct stType { char chA; short shB; int iC; float fD; };
struct stType stE={'A',1,2,18.75},*p=&stE;
printf("%C,%d,%d,%f\n",stE.chA+32,p->shB+10,(*p).iC+20,stE.fD); }
5、执行以下程序,打开file.dat文件,文件中的数据为( end ) #include <stdio.h>
void writeStr(char *fn,char *str) { FILE *fp; fp = fopen(fn, "w"); fputs(str,fp); fclose(fp); } main( ) { writeStr("t1.dat","start"); writeStr("t1.dat","end");
}
六、编程题题( 共5小题,每题4分,共20分 )
1、已知双精度型变量x = 4.56789,试将该数精确到小数点后的第2位。 #include <stdio.h> main() {
double x = 4.56789; x = (int)(x*1000+.5)/1000.0;
printf("%f\n",x);
}
2、编制用辗转除法求最大公约数的程序,已知两个整数分别为14、63,编程求最大公约数。7 解:
#include <stdio.h>
main( )
{ int a , b, c, t , r ; scanf(“%d,%d”, &a, &b ) ; if(a > b ) { t = a; a = b; b = a; } r = a % b;
while( r! = 0 ) {a = b;b = r;r = a % b;}
3
printf(“%d\n”,,b); }
3、试编程输出如下的字符图形。 ********* #include <stdio.h> ******* main( ) ***** { *** *
4、主函数如下,试编制交换指针变量x、y内容的子程序。 #include <stdio.h>
void fun(char *x, char *y)
{ // int t; // t = *x;
// *x = *y; // *y = t; } main()
{ int a=26,b=48; fun(&a,&b);
printf("%d,%d \n" ,a,b); }
5、已知变量与指针定义如下,pa指向a[3],px指向x,试编程求x=*pa+*px。#include "stdio.h" main( )
{ int a[4]={6,2,4,5}, x=3,*pa,*px; pa=&a[3];
px=&x; x=*pa+*px; printf("x=%d\n",x); }
4
正在阅读:
11年C语言考试题B卷答案08-19
六年级语文上册单元作文《围绕中心意思写:悔》共五篇03-23
特许经营合同-范本04-02
她,并不平凡作文1000字07-12
半导体激光器的原理及应用论文06-20
贷款核销制度09-03
第一次当家作文550字07-07
电线杆的自述作文350字06-12
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 考试题
- 答案
- 语言
- 暑假工作总结
- 培训教材(上册)
- 拆分联想法记忆英语单词
- 写人写事作文教学
- 五年级下册生命.生态.安全教学计划
- 社会保障与经济增长相关性的理论分析
- 水生动物皮肤黏液成分与功能研究进展
- 四年级下册信息技术调整表格格式大连理工版
- 小企业工龄工资发放参考
- 需求跟踪矩阵模板--只打需求跟踪矩阵
- 捐款排名是道德绑架还是道德示范 辩论 资料
- 机械可靠性设计的最优化方法及其应用研究
- 固定资产管理台帐表
- 职员素质提升训练
- 烽火家庭网关基本设置与操作
- Impact response of high density flexible polyurethane foam
- 入伙须知
- 颅内肿瘤的临床护理
- 检测钠离子的荧光探针:含稠合外环的硼-二吡咯亚甲基染料的合成与光物理性质研究(英文)
- HTRI final message