11年C语言考试题B卷答案
更新时间:2023-07-21 04:47: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卷答案07-21
2014-12-1阳光体育报03-01
2016-2021年啤酒专用麦芽市场前景预测及投资规划分析报告(目录04-06
区委书记在2023年全区防汛抗旱暨安全生产消防工作会议上的讲话范03-23
护士分层级管理08-24
论罗蒂的后哲学文化设计05-20
GB标准件国标标准件代码大全08-24
经典四边形习题50道(附答案)05-03
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 考试题
- 答案
- 语言
- 中国石化HSE规范终稿1
- 啤酒文化节策划书
- 湖南工业大学电工学试卷整理
- 健康生活指南(运动健身篇)
- 2013年青岛版数学暑假作业及答案
- 怎样看体检报告单(共4篇)
- 城市道路“白改黑”改建项目施工与监理
- “财务总监”职务描述
- 钢板许用应力查询完全EXCEL
- 浙教版八年级下语文作业本答案(正版)
- 2012年小学数学一年级下册第一、二单元试卷分析
- 诗歌鉴赏比较阅读
- 1号发电机抽转子大修施工技术方案
- 捐款排名是道德绑架还是道德示范 辩论 资料
- 七年级下册英语_Unit7知识点总结
- 写人写事作文教学
- 高中生物专题复习训练卷 专题4 遗传、变异和进化 第1讲 遗传的分子基础
- 《财富》2011年中国500强
- 机械可靠性设计的最优化方法及其应用研究
- 阳光体育大课间活动开展现状的调查与分析