版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上系领导审批并签名A 卷广州大学2008-2009学年第一学期考试卷课程C语言程序设计考试形式(闭卷,考试)物理与电子工程学院 系 专业 学号 姓名 题号一二三总分评卷人123分数5020101010100评分一、 选择题(每题2分,共50分)下列每题A、B、C、D四个选项中,只有一个选项是正确的。1、以下说法正确的是( B )A)C语言程序总是从第一个函数开始执行B)C语言程序总是从main()函数开始执行C)在C语言程序中,要调用函数必须在main()函数中定义D)C语言程序中的main()函数必须放在程序的开始部分2、若有定义 int k=5; ,表达式k+=k-
2、=k*=k运算后k的值是( C )A)90 B)25 C)0 D)-153、有输入语句:scanf(“%d,%d,%d”,&a, &b, &c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式为( D )(其中,“ ”表示空格,<CR>表示Enter键)A)132<CR> B)a=1,b=3,c=2<CR> C) a=1b=3c=2<CR> D) 1,3,2<CR>4、以下程序段的输出是( C )printf(“|%8.5f|n”,3461.45); A)|61.45000| B) |3461.4
3、50| C) |3461.45000| D) | 3461.4500|5、在x值处于-2x2 或 4x8时值为“真”否则为“假”的表达式是( D )A) (-2x2)|(4x8) B) (x<=2)&&(x>=-2)&&(x>=4)&&(x<=8)C) (x>=-2)&&(x>=2)|(x<=8)&&(x<2) D) (-2<=x)&&(x<=2)|(4<=x)&&(x<=8) 6、下列程序的执行结果是: ( A
4、 ) #include <stdio.h> void main() int i=9,j=8,m,n;m=+i;n=j+;printf("%d %dn",m,n); A) 10 8 B) 8 9 C) 9 9 D) 9 87、假设所有变量均为整数,则表达式(a=2,b=5,a+,b+,a+b)的值为( C )A)7 B)8 C)9 D)108、有以下程序,执行后输出结果是 ( A )#include <stdio.h>void main() int i=1,j=1,k=2;if(j+|k+)&& i+)printf("%d,%
5、d,%dn",i,j,k);A)2,2,2 B)2,2,1 C)1,1,2 D)2,2,39、有如下程序,该程序的输出结果是( D )#include <stdio.h>void main() int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+;printf("a=%d,b=%dn",a,b);A)a=2,b=2 B)a=1,b=1 C)a=1,b=0 D)a=2,b=1 10、下述程序的输出结果是: ( C ) #include <stdio.h>main( ) in
6、t k=4,n=0;for(;n<k;) n+; if(n%4!=0) continue;k-;printf(“k=%d,n=%dn”,k,n); A)k=1,n=1 B)k=2,n=2 C)k=3,n=4 D)k=4,n=511、不正确的赋值或赋初值的方式是( B )。A) char str="string";B) char str10;str="string"; C) char str7='s', 't', 'r', 'i', 'n', 'g';D)
7、 char str7='s', 't', 'r', 'i', 'n', 'g', 0;12、以下程序的输出结果是( A )#include <stdio.h>void function1(int a,int b)int c;c=a;a=b;b=c;main()int x=3,y=4;function1(x,y);printf(“x=%d ,y=%dn”, x , y); A) x=3,y=4 B)x=4,y=3 C) 不确定 D) 3 , 413、以下程序的输出结果是:( B )# in
8、clude <stdio.h> int f(int); main() int w=2,k,e; for (k=0;k<3;k+) e=f(w); printf(“%d,”,e); int f(int x) int y=0; static z=10; y+;z+; return (x+y+z); A) 14,14,14, B)14,15,16, C) 14 14 D) 14 1514、以下程序的输出结果是:( B )#include <stdio.h>int func(int n)if(n=1) return 10; else return func(n-1)+3;
9、void main()printf(“%d”,func(3);A) 13 B) 16 C) 19 D) 2215、以下程序的运行结果是 ( C ) #include <stdio.h>#define DOUBLE(r) r*rmain ( ) int x=9,y=6,t; t = DOUBLE(x+y) ; printf (“%dn”,t);A)29 B)81 C)69 D)22516、若有函数fuction1(a,b),并且已使函数指针变量p指向函数function1,当调用该函数时,正确的调用方法是: ( C ) A)(*p)function1(a,b); B) *p func
10、tion1(a,b) C)(*p)(a,b); D) *p(a,b);17、有如下定义:struct int x; char * y; tab2=1,ab,2,cd,*p=tab;则表达式(*p->y)的结果是:( A )A) a B) b C) c D) d18、若有定义:int x34=1,2,3,4,5,6,7,8,9,10,11,12,(*p)4=x;则能够正确表示数组元素x23的表达式是: ( B ) A) *(*p+2)3) B) *(*(p+2)+3) C) (*p+2)+3 D) *(*(p+5)19、若有定义:int b,*pb;则以下正确的赋值表达式是( A )A)
11、pb=&b B)pb=b C)*pb=&b D)*pb=*b20、以下程序的输出结果是( C )#include <stdio.h>void sub(int x,int y,int *z)*z=x-y;void main()int a=0,x=5,y=10; sub(y,x,&a);printf(“%d”,a);A)-5 B) 0 C) 5 D) 不确定21、以下程序的输出结果是( B )#include <stdio.h>void main()int a5=10,20,30,40,50;int *p=&a2;printf("%
12、d,",*p+);printf("%d",*p);A)20,30 B)30,40 C)21,30 D) 31,4022、若已建立下面的链表结构,指针p、q分别指向图中所示结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是( B )A) free(q);p->next=q->next;B) (*p).next=(*q).next;free(q);C) q=(*q).next;(*p).next=q;free(q);D) q=q->next; p->next=q;p=p->next; free(p);23、以下程序的输出结果是
13、( D )#include <stdio.h>typedef struct dateint cat;long L;char c10; TOO;main( )printf(“%dn”,sizeof(TOO);A) 15 B) 26 C) 10 D) 1624、以下程序中c的二进制值是( A )char a=3,b=6,c;c=a|(b<<2);A) B) C) D) 25、表达式strcmp(“box”, “boss”) 的值是一个( A )。A) 正数 B) 负数 C) 0 D) 不确定的数二、填空题(每空2分,共20分)1.
14、0; 写出下列程序段的输出结果 d 。 char str="hellotworldn" printf("%cn", *(str+10);2.以下程序的输出结果是: 4 #include <stdio.h>fun2(int a,int b)int c; c=a*b%3;return c;fun1(int a,int b)int c; a+=a;b+=b; c=fun2(a,b);return c*c;main()int x=11,y=19; printf("%dn",fun1(x,y);3. 下列程序的功能是求出ss所指字符
15、串中指定字符的个数,并返回此值。例如,若输入字符串,输入字符1,则输出3,请填空。#include <conio.h>#include <stdio.h>#define M 81int fun(char *ss, char c) int i=0;for(; *ss ;ss+)if(*ss=c)i+;return i ;main() char aM, ch;clrscr();printf("nPlease enter a string: "); gets(a);printf("nPlease enter a char: "); ch
16、=getchar();printf("nThe number of the char is: %dn", fun(a,ch);4.以下程序在主函数中输入10个整数,调用sort函数实现10个整数按从小到大排序(使用选择排序法),在主函数中输出排序结果。请填空: #include <stdio.h>void sort( int a ,int n) int i,j,k;int t; for (i=0;i<n-1;i+) k=i ; for(j=i+1;j<n;j+) if ( ak>aj ) k=j; t=ak;ak=ai;ai=t; main(
17、) int s10;int i;for(i=0;i<10;i+) scanf(“%d”,&si); sort(s,10) ; printf(“the sorted array:n”); for(i=0;i<10;i+)printf(“%d ”,si); printf(“n”);5.下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。#include "stdio.h"#include “stdlib.h”FILE *fp;void main() char ch;if(fp=fopen( “bi.dat” , “w
18、”)=NULL)exit(0);while(ch=getchar( )!=)fputc (ch, fp );fclose(fp);三、编程题(每题10分,共30分)1、编写一个程序,求一个5×5矩阵对角线元素之和。#include <stdio.h>add_duijiaoxian(int b55,int m) int i,j,total=0; for (i=0;i<m;i+) for (j=0;j<m;j+) if (i= =j)|(i+j=4) total=total+bij; return(total);main() int i,j,a55; int total=0,k=1; for (i=0;i<5;i+) for (j=0;j<5;j+) aij=k+; total=add_duijiaoxian(a,5); printf("the total of duijiaoxian is
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年甲状腺癌NGS检测质控手册
- 胆囊炎患者急性期饮食护理建议
- 少儿速写人物课件
- 感恩教育座谈会实施纲要
- 广东省广州市2024-2025学年八年级上学期期末地理试卷(含答案)
- 2026新生儿气道及呼吸机管路护理要点解析
- 防灾减灾活动中班教案
- 现代教育技术发展与应用
- 六灾安全教育
- 健康饮食教育核心体系
- 2026年同等学力申硕英语模拟卷
- 摩根士丹利 -半导体:中国AI加速器-谁有望胜出 China's AI Accelerators – Who's Poised to Win
- 2026辽宁沈阳汽车集团有限公司所属企业华亿安(沈阳)置业有限公司下属子公司招聘5人笔试历年参考题库附带答案详解
- 2026年公路养护工职业技能考试题库(新版)
- 2026中国广播影视出版社有限公司高校毕业生招聘3人备考题库含答案详解(完整版)
- 宜宾市筠连县国资国企系统2026年春季公开招聘管理培训生农业考试模拟试题及答案解析
- 2026年福建南平市八年级地生会考考试真题及答案
- 2025-2030非洲智能汽车零部件行业市场供需理解及投资潜力规划分析研究报告
- GA/T 718-2007枪支致伤力的法庭科学鉴定判据
- 贞丰县乡镇地图PPT黔西南布依族苗族自治州贞丰县行政区划可
- 湖南省衡阳市南岳区事业单位考试历年真题
评论
0/150
提交评论