当前位置:文档之家› 五邑大学--专插本_c语言程序设计_考卷讲解学习

五邑大学--专插本_c语言程序设计_考卷讲解学习

五邑大学--2015专插本_C语言程序设计_考卷仅供学习与交流,如有侵权请联系网站删除 谢谢2五邑大学2015年通信工程(计算机通信网络)专业本科插班生招生考试《C 语言程序设计》试题考试形式为闭卷、笔试。

考试时间为120分钟,试卷满分为100分。

一 判断题,正确划√,错误划×。

(每题1分,共10分)1.C 语言的源程序不必通过编译就可以直接运行。

( )2.在C语言中用到的任何一个变量都要规定其类型。

( )3.C语言的标识符只能使用字母、数字和下划线三类字符,且第1位不能是数字字符。

( )4.continue 语句用在循环体中,可使整个循环不结束。

( )5.静态局部变量只在本函数内可用。

( )谢谢36.在do-while 循环中,任何情况下都不能省略while 。

( )7.char *p="girl";的含义是定义字符型指针变量p ,p 的值是字符串"girl"。

( )8.用fopen("file","r+"); 打开的文件"file"不能修改。

( )9.一个共用体变量只能存放其中一个成员的值。

( )10.在不出现溢出的情况下,将一个数左移n 位,相当于给它扩大2n 倍。

( )二 单项选择题,错选、漏选、多选不得分。

(每题2分,共40分)1.下面关于"A"的说法正确的是( )。

A ) 它代表一个字符常量B ) 它代表一个字符串常量C ) 它代表一个字符D ) 它代表一个变量2.若以下选项中的变量已正确定义,则正确的赋值语句是( )。

A ) x1=26.8%3 ;B ) 1+2=x2 ;C ) x3=0x12 ;D ) x4=1+2=3;3.为表示关系x ≥y ≥z ,正确C 语言表达式是( )。

A ) (x>=y)&&(y>=z)B ) (x>=y) AND (y>=z)C ) (x>=y>=z)D ) (x>=z)&(y>=z)4.设 a=5,b=6,c=7,d=8,m=2,n=2, 则执行 (m=a>b)&&(n=c<d)后n 的值是( ) 。

A ) 1B ) 2C ) 3D ) 45.设a=8、b=13,则printf("%d",(a>b)?a:b); 则输出结果是 ( )。

A) 5 B) 8C) 13 D) 216.在C语言中要求参加运算的数必须是整数的运算符是()。

A) / B) !C) % D) = =7.设整型变量a为5,使b不为2的表达式是( )。

A) b=a/2 B) b=5-(---- a)C) b=a>3?2:1 D) b=a%28.若x=5,y=4 则y*=x+5; y的值为( )。

A) 40 B) 20C) 15 D) 309.关于break语句的正确说法是( )。

A)无论在任何情况下,都中断程序的执行,退出到系统下一层。

B)在多重循环中,只能退出最靠近的那一层循环语句。

C)跳出多重循环。

D)只能修改控制变量。

10.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是()。

A) (a+b)*h/2 B) (1/2)*(a+b)*hC) (a+b)*h*1/2 D) h/2*(a+b)仅供学习与交流,如有侵权请联系网站删除谢谢4仅供学习与交流,如有侵权请联系网站删除 谢谢511. 有定义语句:int b;char c[10];则正确的输入语句是 ( )。

A ) scanf("%d%s",&b,&c);B ) scanf("%d%s",&b,c);C ) scanf("%d%s",b,c);D ) scanf("%d%s",b,&c); 12.设有如下定义:struct sk { int a; float b;}data; int *p;若要使指针p 指向data 中的a 域,正确的赋值语句是( )。

A ) p=&a; B ) p=data.a; C ) p=&data.a;D )*p=data.a13.以下对数组初始化中哪个是不正确的。

( )A ) char ch[]={“C program!”};B ) int num[][3]={2,4,6,8,10,12,14,16,18}; C) char ch[5]={‘C’,’h’,’i’,’n’,’a’}; D) int num[3][]={1,3,5,7,9,11,13,15,17};14.C 语言用( )表示逻辑“真”值。

A). trueB). T 或 YC). 非零整型值D). 整型值015.以下为非法操作的是( )。

A ) int i; i=100;B ) int i=100;谢谢6C ) const int i=100;D ) const int i; i=100;16.根据C 语言的语法规则,下列( )是不合法标识符。

A) while B) Name C) Rern5D) _exam17.设有宏定义“#define S(a,b) a*b ”,则赋值语句“s=S(x,y)”经宏展开为( )。

A) s=x*y B) s=S(a,b) C) s=a*bD) s=S(x*y)18.设指针变量p 指向数组a 的首地址,则以下哪个选项不能取得数组第i 个元素值。

( )A ) *(p+i)B ) p+iC ) *(a+i)D ) a[i]19.设a=15,则表达式“(a=3*5,a*4),a+5”的值是( )。

A ) 15 B ) 60 C ) 20D ) 7520.结构化程序设计的基本结构不包含( )。

A ) 顺序 B ) 选择 C ) 循环D ) 跳转三 综合题。

(第1-2题每题3分,第3-6题每题6分,共30分)1.阅读以下程序代码,写出程序运行结果。

谢谢7int main() { int i,sum=0;for(i=1;i<=20;i++) { sum+=i; } printf(“%d”,sum);return 0; }程序运行后输出: 。

2.阅读以下程序代码,写出程序运行结果。

int main() { int i,j,x=0; for (i=0;i<2;i++) { for (j=0;j<3;j++) { if (j%2= =0) continue; x=x+1; } }printf(“%d”,x); return 0; }程序运行后输出: 。

3.下列程序的功能是求10的阶乘,改正程序中存在的错误(错误行已标出,不可改动其他程序代码否则不能得分),使程序能正确运行并得到正确的结果。

int main(){ int i=1,n=10; long t=1; do { t=t*i; i++;}while(i<=n) //此行错误,正确为:prinft(“%d ”,t); //此行错误,正确为:return 0;}4.下列程序的功能是采用选择法对10个整数进行排序,改正程序中存在的错误(错误行已标出,不可改动其他程序代码否则不能得分),使程序能正确运行并得到正确的结果。

int main(){ int a[10]={18,6,7,35,24,69,52,21,11,41};int i,j,k,t;for(i=0; i<10; i++){ k=i;for(j=0;j<i;j++) //此行错误,正确为:if(a[j]<a[k]) k=j;if(k!=i)t=a[i],a[i]=a[j],a[j]=t; //此行错误,正确为:}for(i=0;i<10;i++)printf(“%d ”,a[i]);return 0;}5.下列程序为使用指针输出数组所有元素。

阅读程序,将程序中缺少的代码补充完整,使程序能正确运行并得到正确的结果。

(每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。

)int main(){ int *p,i,num[10]={1,2,3,4,5,6,7,8,9,10};i=0;while(i<10){ printf(“%d “,*p);p++;}return 0;}6.下列程序中的数组a包括10个整型元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素的形式输出数组b。

阅读程序,将程序中缺少的代码补充完整,使仅供学习与交流,如有侵权请联系网站删除谢谢8谢谢9程序能正确运行并得到正确的结果。

(每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。

)int main () {int a[10],b[10], i; for(i=0; i<10; i++) scanf(“%d”,&a[i]);for (i=1;i<10; i++) b[i]= ; for(i=1;i<10;i++) { printf(“%3d”, b[i]);if ( ) prin tf(“\n”); } }四 编程题。

(第1题8分,第2题12分,共20分)1.编写函数strLen ,计算并返回给定字符串的长度。

2.编写反转函数reverse ,将输入的整数反转并返回,如:输入-1234转换成-4321,输入6853转换为3586。

仅供学习与交流,如有侵权请联系网站删除谢谢10。

相关主题