国信蓝点杯软件大赛校内比赛C语言试题

上传人:豆浆 文档编号:1595241 上传时间:2017-06-28 格式:DOC 页数:14 大小:75.50KB
返回 下载 相关 举报
国信蓝点杯软件大赛校内比赛C语言试题_第1页
第1页 / 共14页
国信蓝点杯软件大赛校内比赛C语言试题_第2页
第2页 / 共14页
国信蓝点杯软件大赛校内比赛C语言试题_第3页
第3页 / 共14页
国信蓝点杯软件大赛校内比赛C语言试题_第4页
第4页 / 共14页
国信蓝点杯软件大赛校内比赛C语言试题_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《国信蓝点杯软件大赛校内比赛C语言试题》由会员分享,可在线阅读,更多相关《国信蓝点杯软件大赛校内比赛C语言试题(14页珍藏版)》请在金锄头文库上搜索。

1、 “国信蓝点杯”全国软件大赛校内选拔赛 C 语言程序设计试卷班级 姓名题号 一 二 三 四 五 总分题分 25 15 20 20 20得分一、单项选择题(每题 1 分,共 25 分)1. C 语言规定:在一个源程序中,main 函数的位置( B )。A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意 D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( B )。A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若 a=-14,b=3,则条件表达式 a#defi

2、ne F(y) 8.19-y#define PRINT(a) printf(%d,(int)(a)void main(void)int x=2;PRINT(x*F(3);A. 10 B. 13 C. 11 D. 报错11. 以下程序中编译和运行结果均正确的一个是( AC )。A. void main( ) union int n; float x; comm=1; printf(%d,comm.n ); B. void main( ) union int n;float x;comm=12.5; printf(%f,comm.x); C. void main( ) union float x;

3、 int n; comm=12.5 printf(%f,comm.x); D. void main( ) union int n; float x; comm=5; printf(%d, comm.n); 12. 设有定义: int a=1,*p=&a; float b=2.0; char c=A; 以下不合法的运算是( C )。A. p+; B. a-; C. b+; D. c-;13. 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是( B )。main()int *p,*q,a,b;p=&a;printf(input a:);scanf(%d,*p);A.

4、 *p 表示的是指针变量 p 的地址B. *p 表示的是变量 a 的值,而不是变量 a 的地址C. *p 表示的是指针变量 p 的值D. *p 只能用来说明 p 是一个指针变量14. 若 num、a、b 和 c 都是 int 型变量,则执行表达式num=(a=4,b=16,c=32);后 num 的值为( c )。A. 4 B. 16 C. 32 D. 5215. 已有如下定义和输入语句,若要求 a1,a2,c1,c2 的值分别为 10,20,A和 B,当从第一列开始输入数据时,正确的数据输入方式是( c ),(注: _ 表示空格)int al,a2,char c1,c2;scanf(%d%c

5、%d%c,&a1,&c1,&a2,&c2);A. 10A_20_B B. 10_A_20_B C. 10A20B D. 10A20_B16. 若有说明:int a10; 则对 a 数组元素的正确引用是( c )。A. a10 B. a3.5 C. a5-3 D. a-1 17. 在 C 语言中, 一维数组的定义方式为:类型说明符 数组名 ( C );A. 整型常量表达式 B. 表达式C. 整型常量 D. 整型表达式18. 以下能对一维数组 a 进行正确初始化的语句是( C )。A. in a10=(0,0.0,0,0);B. int a10=; C. int a0;D. int a10=10*

6、1;19. 以下程序段( D )。x=-1;dox=x*x;while(! x);A. 是死循环 B. 循环执行二次C. 循环执行一次 D. 有语法错误20. 以下关于 do-while 循环的不正确描述是( B )。A. do-while 的循环体至少执行一次B. do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写分号C. 在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零(假)的操作D. do-while 的循环体可以是复合语句21、表达式-1void main(void) int i;char a=Time,b=To

7、m;for(i=0;ai!=0&bi!=0;i+)if (ai=bi)if (ai=a & ai=0 & x=3000 & x=6000 & x#includefloat fun1(float,float);void main(void)float x,y,z,sum;scanf(%f%f%,&x,&y,&z);sum=fun1(x+y,x-y)+ fun1 (z+y,z-y);printf(sum=%fn,sum);float fun1(float a,float b)float num;num=a/b;return num;四、程序填空题(每题 2 分,共 20 分)1.下面程序的功能是用

8、公式:/6=1/(11)+1/(22)+1/(33)+. 求 的近似值, 直到最后一项的值小于 10e-6 为止。#include #include void main(void)long i=1;double pi=0;while (i*i1)#includeint age(int n)int c;if (n=1) c=10;else c= age(n-1)+2 ;return c;4. 以下程序的功能是判断输入的年份是否是闰年。void main(void)int year, yes;scanf(%d, &year);if (year%400=0) yes=1;else if (! (ye

9、ar % 4 | year % 100 ) yes=1;else yes=0; ;if(yes) printf(%d is ,year);else printf(%d is not ,year);printf(a leap year.n);5. 以下程序实现: 输入三个整数,按从大到小的顺序进行输出。void main(void)int x,y,z,c;scanf(%d %d %d,&x,&y,&z);if ( ) c=y;y=z;z=c;if ( ) c=x;x=z;z=c;if ( ) c=x;x=y;y=c;printf(%d,%d,%d,x,y,z); 五、程序题(每小题 5 分,共

10、20 分)1、编程序解问题:输入 n,求 1+2+3+n 的和。2、将一个数组中的值按逆序重新存放,例如原来数组 3、输入 3 个数 a,b,c,使用指针 (不用指针不给分)按从大到小顺序输出。4、将一个文本文件中的内容复制到的一个新的文本文件里面。/将?一?个?文?本?文?件t中D的?内容Y复制?到?的?一?个?新?的?文?本?文?件t里?面?/C:UserslengmengDesktopmyText.txt#include#include#include#includeusing namespace std;int main()/声明打开a文?件t流对?象fstream inText;in

11、Text.open(C:UserslengmengDesktopmyText.txt);if(!inText)cerr tVec;string str;while(getline(inText,str)tVec.push_back(str);inText.close();/存?放?到?另一?个?文?本?中Dofstream outText;outText.open(C:UserslengmengDesktopreMyText.txt);for(vector:iterator i = tVec.begin(); i != tVec.end(); +i)outText *i endl;outText.close();return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号