电子科技大学《C语言》自测题答案
更新时间:2023-12-04 23:01:01 阅读量: 教育文库 文档下载
自测题1答案
一、填空题(每空1分,共29分)
1、若有以下的定义:int a [6];则数组a元素的下标的上限为 5 ,下限为 0 。
2、局部的变量是在函数内部定义的,它们只在 本函数 有效。 3、组成C程序的若干函数中,只能且必须有一个 主 函数。
4、C语言中的变量名可以由 字母 , 数字 和 下划线 三种字符组成,且首字符不能是 。
5、枚举类型enum color (bla,blu,gre=3,cya,red)中的枚举项的值bla=__0__、blu=__1__、cya=__4__、red=__5___.
6、c语言中变量的存储属性有自动、____静态____、__外部______和寄存器四种。
7、算术运算符,关系运算符,赋值运算符的优先级从低到高依次是 赋值运算符 , 关系运算符 , 算术运算符 。
8、标准文件是系统自动打开和关闭的,但是一般用户文件,必须在程序中用函数_fopen( )_打开文件,文件操作结束后,用__fclose( )_关闭文件。 9、函数参数有 形式参数 和 实际参数 两种形式。
10、程序的三种基本结构是 顺序结构 , 选择结构 , 循环结构 。 11、x、y、z均为int型变量,请写出描述“x或y中有一个小于z”的表达式__x 12、下面程序的运行结果是: c1=c,c2=abc # include {char s[10]={“abc”}; printf(“c1=%c,c2=%s\\n”,s[2],s); } 13、如果a=5,b=2,c=3,d=4,则表达式a 15、设x=3.8.,a=9,y=5.3,表达式x+a%2*(int)(x+y)%2/4的值 3.8 。 二、选择题(每小题2分,共26分) 1、一个C程序的执行是从 A A) 本程序的main函数开始,到main函数结束。 B) 本程序的第一个函数开始,到本程序最后一个函数结束。 C) 本程序的main函数开始,到本程序文件的最后一个函数结束。 D) 本程序的第一个函数开始,到本程序main函数结束。 2、下面的四个选项中,均不是合法的用户标识符的选项是 B A) B B) b-a C) float D) _123 M_0 goto 2ab temp Do int _A INT 6、 请问:下面这个程序段的输出是什么? D int a=7,b=8,c=9; if(a b=c; c=a; } printf(\ A. a=7 b=8 c=7 B. a=7 b=9 c=7 C. a=8 b=9 c=7 D. a=8 b=9 c=8 7、以下描述正确的是 C A) goto语句只能用于退缩出多层循环。 B) switch语句中不能出现continue语句。 C) 只能用continue语句中来终止本次循环。 D) 在循环语句中break语句不独立出现。 8、以下对二维数组a的正确说明是 C A) int a[ 3 ] [ ]; B) float a( 3, 4); C) int a[ 3 ] [ 4 ] D) float a( 3, )( 4 ); 9、有下面的程序段 char a[ 3 ], b[ ] =”student”; a=b; printf (“ %s”,a); 则 D A) 运行后将输出student ; B)运行后将输出b; C) 运行后将输出a D)编译出错 10、 若用数组名作为函数调用的实参,传给形参的是 A A) 数组的首地址 B)数组的第一个元素值 C) 数组的全部元素值 D) 数组中元素的个数 11、在说明语句:int *f( );中,标识符f代表的是 C A) 一个返回值为指针型的函数名 B) 一个用于指向整型数据的指针变量 C) 一个用于指向函数的指针变量 D) 一个用于指向一维数组的行指针 12.变量的指针,其含义是指该变量的___D_____ A) 一个标志 B) 值 C)名 D) 地址 13.已知 int b; 则对指针变量正确的说明和初始化是:__ D __ A) int *p=b; B) int p=b; C) int p=&b; D) int *p=&b; 三、判断题(在你认为正确的表达式前打√,错误的打×,每小题1分,共15分) ( × )1、switch语句中,所有case后的常量表达式可以相同 (√)2、C语言不能嵌套定义函数,但可以嵌套调用。 (√)3、使用宏定义时,宏名可以是大写或者小写,但是常用大写字母表示。 (√4、C语言函数的缺省类型是void型(空类型)。 (× )5、打印三行输出的C语言程序必须用三条printf语句。 (×)6、如果a>b或c (√)7、如果有:int data[10];int *p; 则语句p=data 和 语句 p=&data[0]等价。 (√)8、联合类型是在同一个存储空间,可以为几个不同数据类型的成员所使用。 ( ×)、一个数组能够存储许多不同类型的值。 四、阅读下列程序,请将运行结果写在答题卡上(每题3分,共15分)。 1. #include int a,b=4; a=SQR(b+1); printf(\} 运行结果___25_____ 2. #include {char s[]=\s[4]='\\0'; printf(\} 运行结果___4567_____ 3. #include main() { char *s=\ Beijing 2008 Olympic Games\ char *p; p=s; while ((*p)!=? ?) p++; p=?\\0?; printf(“%s\\n”,s); printf(\ } 运行结果China Beijing 2008 Olympic Games China 5. #include int x=1,y=1,m=1,n=1; 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,y=%d”,x,y); } 运行结果___x=8,y=6_____ 4. #include { if (!(i%2)) printf(\i++; } } 运行结果____1,3,5,7,9____ 五、编写下列程序,(共15分) 1.试编写一个程序计算a!+b!+c!,并要求有输出结果. 解: #include fact(int); void main() { int a,b,c; printf(”Enter three numbers:”); scanf(“%d, %d, %d”,&a,&b,&c); printf(%d!+ %d!+ %d!= %d +%d+%d \\n”,a,b,c,fact(a), fact(b), fact(c)); return; } fact(int n) { int result; if(n==1) return(1); result=fact(n-1)*n; /*递归调用*/ return(result); } 2. 编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的结果。 解: #include int a[N]= {6,5,8,1,0,4,7,3,2,9} int i,j,t; printf(“The array before sorted:”); for (i=0;i<9;i++) { for (j=i+1;j<10;j++) { if ( a[i]>a[j]) { 3. #include { int i=1; while(i<=10) { if (!(i%3)) printf(\ i++; } } 运行结果___3,6,9_____ 5. #include main( ) { int x=20, y=15; if( x>y) swap(&x, &y); printf(\} swap(int *p1, int *p2) { int *temp; temp=p1; p1=p2; p2=temp; } 五、编写下列程序 4. #include a[3][3]={{3,2,2},{4,5,6},{-2,9,2}}; int i,j,s=0; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i = = 2-j) s=s+a[i][j]; printf(\} 1.应用动态存储单元编写一个程序,计算两个浮点数之和。 申请用于存储3个浮点数的动态存储空间。得到所要求的存储空间后,向里面存储两个数据与他们的和,接着输出这些数据。然后将所申请的存储空间退回 系统。 #include float *prt; prt=malloc(3*sizeof(float)); if(!prt) printf(“out of memory”); else{ printf(“\\n Enter two numbers:”); scanf(“%d%d”,prt,prt+1); *(prt+2)=*prt+*(prt+1) printf(“The sum is %d\\n”,*(prt+2)); free(prt); } return 0; } 2.求下面一元二次方程的根。 ax+bx+c=0 解: #include float X1,X2,p,q,d;/*全局变量*/ 2 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(“%f%f%f”,&a,&b,&c); d=b*b-4*a*c; if(d>0) { greater_than_zero(a,b); printf(X1=%5.2f\\t,X2=%5.2f\\n,X1,X2); } else if(d==0) { equal_to_zero(a,b); printf(“X1=X2=%5.2f\\n”,X1); } else {smeller_than_zero(a,b); printf(“X1=%5.2f+%5.2fi\\n”,p,q); printf(“X2=%5.2f-%5.2fi\\n”,p,q); } return 0; } float greater_than_zero(float x,float y) { X1=(-y+sqrt(d))/(2*x); X2=(-y-sqrt(d))/(2*x); Return; float equal_to_zero(float x,float y) { X1=(-y)/(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均为int型变量,请写出描述“x或y中有一个小于z”的表达式__x 2、下面程序的运行结果是: c1=c,c2=abc # include {char s[10]={“abc”}; printf(“c1=%c,c2=%s\\n”,s[2],s); } 3、如果a=5,b=2,c=3,d=4,则表达式a 5、设x=3.8.,a=9,y=5.3,表达式x+a%2*(int)(x+y)%2/4的值 3.8 。 6、凡是函数中未指定存储类别的局部变量,隐含的存储类别为auto 。 7、在c语言中,一个函数一般由两个部分组成,它们是 首部 、函数体 。 8、执行下列程序段后,*(p+1)的值是 b , *(p+2)的值是 \\0 . char c[3]=”ab”, *p; p=c; 9、在c语言中,调用函数时,如果形参是简单变量,对应的实参可以是变量、数组元素和 常量 ,当形参和实参都是变量时,数据的传递是 单向值传递 。 10、说明预处理命令 #define xyt(x,y) ( int t; t=x; x=y; y=t)的功能是用宏名定义xyt(x,y)定义了将x、y两个参数交换。 二、选择题 1、以下选项中不合法的用户标识符是: B A._123 B. file C. a$ D. Dim 2、TURBO C 中int 类型变量所占字节数是: B A. 1 B. 2 C. 3 D. 4 3、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是: D A. 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、 以下程序段的输出是: B printf(“|.5f|\\n”,12345.678); A.|1234.67800| B. |12345.6780| C.|12345.67800| D. |12345.678| 5、在C语言中,要求运算数是整型的运算符是 A A) / B) ++ C) != D) * 6、有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a,b,c的值分别为1,3,2,从键盘上输入数据的正确形式应当是 D A)132 〈回车〉 D)a=1,b=3,c=2〈回车〉 C)a=1 b=3 c=a <回车> B) 1,3,2 〈回车〉 7、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 B if ( a A) 1 B) 2 C) 3 D) 6 三、判断题 ( √ )1、C语言中,变量名用大小写是等价的。 ( × )2、强制类型转换,如(double)x,只改变原变量的类型,而不改变其值。 ( ×)3、存储字符串所需的内存空间等于字符串的长度。 ( √ )4、C语言中,注释可以出现在源程序的任何位置。 ( ×)5、整型、字符型、指针型是C语言中最简单的数据类型。 ( √ )6、全局变量在整个源程序文件中都有效。 ( × )7、switch选择结构中必须有default子句。 ( √ )8、如果x>y或者ay||a ( × )9、一个函数float div(float x,float y),其函数原型说明为float div(float x,float y). ( √ )10、结构成员名可以与程序中的变量同名,也可以与结构类型名相同 四、阅读下面程序,请写出运行结果(每题3分,共15分) 1. 以下程序的输出结果是 #include { if((i)==0) break; else i--; } i+=11; a+=i; } printh(\} 32 2.下面程序的运行结果是:____ 100 10__________。 #define N 10 #define s(x) x*x #define f(x) (x*x) main() {int i1,i2; i1=1000/s(N); i2=1000/f(N); printf(\} 5.f(int a) { auto int b=0; static int c=3; b++; c++; return(a+b+c); } main( ) { int a=2,i; for (i=0;i<3;i++) printf(“%d”,f(a)); return; } 运行结果: 777 4.#include int f(int a,int b) { int c; if(a>b) c=1; else if (a= =b) c=0; else c=-1; return(c); } 运行结果: 1 五、编写下列程序(15分) 1.编写一程序,计算并输出1~100的整数和。 解:#include { int s=0,i; for (i=1;i<101;i++) s=s+i; printf(“sum=%d\\n”,s); } 2.有一3×3的矩阵a。要对它进行转置操作。所谓转置,就是进行矩阵元素的行列号的对换。列如,元素a(i,j)转换为a(j,i)。整个转置过程要求用指针实现。 程序如下: #include int a[3][3]={1,2,3, 4,5,6, 7,8,9, }; int i,j,k,*p; for (i=0;i<3;i++) /*输出原始矩阵*/ { printf(“\\n”); for (j=0;j<3;j++) printf( “%d “,a[i][j] ); } printf(“\\n”); p=a; for (i=0;i<3;i++) { for(j=i;j<3;j++) { k=*(p+3*i+j); *(p+3*i+j)=*(p+3*j+i); *(p+3*j+i)=k; } } for (i=0;i<3;i++) /*输出结果*/ { printf(“\\n”); for(j=0;j<3;j++) printf(“%d “,a[i][j]) } }
正在阅读:
电子科技大学《C语言》自测题答案12-04
透视原理03-09
副斜井井筒施工组织设计01-27
湖北省武汉市第二中学2014-2015学年高一上学期期末考试物理试题04-10
乔布斯的英文介绍07-21
酚醛树脂的研究进展10-18
铁路工务管理人员面试题01-18
理发作文300字07-06
平权论05-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 自测题
- 答案
- 语言
- 大学
- 电子
- 科技
- 中国南北方文化差异及其根源
- 温室效应
- 果园村创建省级卫生村工作汇报
- 会计实务操作题1
- 1.招标文件
- 劳务员专业知识
- 五年级科学第三单元5-8课五坝小学李玉梅
- PI系统说明
- 361 Chapter 7 MC Solutions
- 浅谈陕北民俗文化
- 地域文化课
- 初中英语不规则动词过去式与过去分词整理(简略版)
- 初中数学 培优专题复习 中考压轴题 易错题 汇编 含答案 11:几何变换问题平移
- 图书管理系统需求规格说明书
- 2017最新高三总复习(专题攻略)之书面表达含答案:高级词汇、句型及名句
- 节能降耗考核方案及措施
- 五年级升六年级数学摸底考试题
- 中国历年城市环境情况统计(2000-2017)(一)
- 中国养生按摩椅市场发展研究及投资前景报告(目录) - 图文
- 能力提升1地球仪和地图