程序设计基础模拟卷

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

)优先级最高 C.== ) D.*=
3.一个 C 语言的执行是从:(
A. 本程序的主函数开始,到本程序的主函数结束 B. 本程序的第一个函数开始,到本程序的最后一个函数结束 C. 本程序的主函数开始,到本程序的最后一个函数结束 D. 本程序的第一个函数开始,到本程序的主函数结束 4. 设有定义:char w; int x,k; float y; double z; 则语句: k=w*x+z-y;值的数据类 型是:( C. int ) B. char D. double ) A. float
10.C 语言中可处理的文件类型是( ) A. 文本文件和数据文件 B. 文本文件和二进制文件 C. 数据文件和二进制文件 D. 数据代码文件、
二、填空题(每小题 2 分,共 20 分) 1.C 语言用于条件表达式的运算符是:______________________。 2.写出表达式满足:当字符变量 m 取英文字母时表达式的值为真 ________ ______________。
程序设计基础试卷 第 3 页(共 10 页) (A 卷)
9. 以下程序的输出为____________。 #include <stdio.h> int main() { int i,a[]={1,2,3,4,5,6,7,8},*p=a; for (i=1;i<5;i++) p[i]=2*a[i-1]; printf("%d\n",a[2]); return 0; }
程序设计基础试卷 第 2 页(共 10 页) (A 卷)
void main( ){ int a=12, b=9; s (a,b); printf("a=%d\tb=%d\n",a,b); } 6. 写出下列程序的输出结果。 void conv(int m){ if( m>=2) conv(m/2); printf("%d",m%2); } void main(){ conv(13); } 7. 以下程序的输出为____________。 #include <stdio.h> void fun( ); int n=8; int main( ) { int n=10; printf(“%d”,n*n); fun( ); return 0; } void fun( ) { printf(“%4d\n”,n); } 8.已知 VC6.0 的 double 类型占 8 个字节,以下程序执行后输出是_______________。 # include <stdio.h> int main (void) { double a[2], *p, *q; p = &a[0]; q = p + 1; printf ("%d\n", (int) q - (int) p); return 0; }
3. 程序功能是输入一个字符串(少于80个字符,以回车结束),把字符串中的数字字符(0-9) 转换为整数,去掉其他字符,要求定义并调用函数long stol (char*s),s是原字符串。假设不考 虑整数数据范围超限的情况。 如输入: 3a56bc77rfasefg fg88fg↙ 则输出: 3567788 #include<stdio.h> long stol( char *s); main() { char s[80]; gets(s[80]); printf(“number=%d”,stol(s)); } long stol( char *s) {long number=0; while(*s!='\0') { if(*s>=0 && *s<=9) number=number*10+*s-'0' ; s++;
上海第二工业大学
程序设计基础
姓名: 学号:
)是合法的 C.d-Ptr
(试卷编号:

2015 — 2016 学年秋季学期 期末考试 模拟试卷
成绩:
班级:
一、单项选择题(每小题 2 分 ,共 20 分) 1.下列变量名中, ( A.156A B._abc156 D.while
2.下列各种运算符中, ( A. + B.&&
9. 设有 int n=70;写出下列语句的运行结果____________ 。 switch (n/10) { default: printf("$"); case 6: case 5: } A. @#$ B. $ C. $@# D. @#; printf("@"); printf("#");break;
5. C 语言结构化程序设计的三种基本结构是( A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构 C、嵌套结构,递归结构,顺序结构 D、循环结构,转移结构,顺序结构、 6.C 语言中函数返回值的类型是由____决定。 A. return 语句中的表达式类型 B. 调用函数的主调函数类型 C. 调用函数时临时 D. 定义函数时所指定的函数类型
程序设计基础试卷
第 5 页(共 10 页) (A 卷)
printf("The student is very good!\n"); else printf("The student is not very good!\n"); } 第 1 处错误语句是:___________________________________________ 正确的是:___________________________________________ 第 2 处错误语句是:___________________________________________ 正确的是:____________________________________________
10. 设有变量定义: struct rec { int x; int y; } s[ ] = {{4,28},{9,36}},*p = s; 计算表达式 (p->y/p->x*s[1].x+s[1].y)的值____________。
三、改错题(每小题 5 分,共 20 分) 注:1.下列各改错题不能增加和减少语句,只能在原错误的语句上修改 2.各题错误数量与题目后要求回答的错误数量相同 1. 改正下列程序中的错误,输入三角形的 3 条边 a, b, c,如果能构成一个三角形,输出面 积 area 和周长 perimeter(保留 2 位小数) ;否则,输出“These sides do not correspond to a valid triangle” 。 注:在一个三角形中,任意两边之和大于第 3 边。三角形面积计算公式:
7.若 p1、p2 都是整型指针,p1 已经指向变量 x,要使 p2 也指向 x,以下( 的。 A.p2=&p1; B.p2=**p1;
程序设计基础试卷
)是正确
C.p2=p1;
D.p2=*p1;
第 1 页(共 10 页) (A 卷)
8. 设有定义 int a[20]={10,30,50,70,80},*p=a; while(*p!=30) p++; 结果为 80 的表 达式是____________ 。 A. *(p+2) B. *(p+3) C. *p+2 D. *p+3
程序设计Leabharlann Baidu础试卷 第 6 页(共 10 页) (A 卷)
} return number; } 第 1 处错误语句是:___________________________________________ 正确的是:___________________________________________ 第 2 处错误语句是:___________________________________________ 正确的是:____________________________________________ 4. 改正下列程序中的错误,打印从 1~1000 能同时被 3 和 7 整除的前 n 个数。 如输入:3 则输出:21 42 63 带错误原程序如下: #include <stdio.h> main( ) { int k; scanf("%d",&n); for(k=1;k<=1000;k++) if(k%3==0&&k%7==0) { printf("%d n--; if(n=0) break; } } 第 1 处错误语句是:___________________________________________ 正确的是:___________________________________________ 第 2 处错误语句是:___________________________________________ 正确的是:____________________________________________ 第 3 处错误语句是:___________________________________________ 正确的是:____________________________________________ 四、编写程序题(每小题 10 分 ,共 40 分) 注意:程序不应该只适用于所给出的输入数据。 1.编写程序:从键盘输入一个整形数 x,按以下公式求出 y 并在屏幕上输出,输出 形式如下图所示。其中:|x|表示 x 的绝对值。 ", &k);
area
s(s a )(s b )(s c )
其中,s=(a+b+c)/2
带错误原程序如下: #include <stdio.h> #include <math.h> int main(void) { double a,b,c; double area,perimeter,s; printf("Enter 3 sides of the triangle: ");
3. 设有说明语句:int x=3, y=2; 则计算表达式(x=0)&& (y=6*x) 后变量 y 的值是 ________。 4. 执行下列语句后的输出结果是什么? #include<string.h> char s1[]="12345", s2[] ="1234"; printf("%d\n", strlen (strcpy (s1,s2) ) ); printf("%s\n", s1+2) ; 5. 写出宏定义 s(x,y)的含义,执行下列程序后的输出结果是什么? #define s(x,y) x=x+y , y=x-y, x=x-y
程序设计基础试卷 第 4 页(共 10 页) (A 卷)
scanf( "%lf%lf%lf",&a,&b,&c ); if( a + b > c || b + c > a || a + c > b) { s = ( a + b + c ) / 2; area = sqrt( s * ( s - a ) * ( s - b ) * ( s - c )); perimeter = a + b + c; printf("area = %2d; perimeter = %2d\n",area,perimeter); } else printf("These sides do not correspond to a valid triangle\n"); return 0; } 第 1 处错误语句是:___________________________________________ 正确的是:___________________________________________ 第 2 处错误语句是:___________________________________________ 正确的是:____________________________________________ 2. 改正下列程序中的错误,学习优良奖的条件如下:所考5门课的总成绩在450分(含)以上; 或者每门课都在88分(含)以上。输入某学生5门课的考试成绩,输出是否够学习优良奖的条件。 请改正程序中的错误,使它能得出正确的结果。 #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <math.h> main() { int score,sum=0; int i,n=0; for(i=1;i<=5;i++) { scanf("%d",&score); sum+=score; n++; } if(sum>=450 && n==5 )
相关文档
最新文档