青海大学试卷(a卷)
一.填空题(每空1分,共16分)
1.一个c程序一般由若干函数构成,程序中至少应包含一个主函数 。
2.在循环控制中,break语句用于结束当前循环层 ,continue语句用于结束本次循环 。
3. 若x和n均是int型变量,且x和n的初值均为8,计算表达式x+=n++后,x的值为 【4】 ,n的值为 【5】 。
4.若有定义int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是 【6】 。
5. 有这样的定义: int a=10;int *p;让指针p指向a的语句 【7】 ,当p指向a后,【8】 与p等价, 【9】 与*p等价。
6.有说明char s1[40],s2[20]=“you are a teacher.”;如果想把s2中的字符串复制到s1中的函数调用语句是10
7.函数直接或者间接地自己调用自己,称为函数的 【11
8.结构体的变量定义为:struct aab1;则变量b1占用的内存空间的字节数是 【12】 。
9.在函数内部定义的只在本函数内有效的变量叫 【13】 ,在函数以外定义的变量叫 【14】 。
10.feek(fp,-10l,1)中的fp和1分别代表文件 【15】 和文件 【16】 。
二.选择题(每小题2分,共40分)
1.程序调试的任务是( )
a.设计测试用例 b.验证程序的正确性 c.发现程序中的错误 d.诊断和改正程序中的错误。
2.c语言中,逻辑“真”等价于( )
a.非零的数 b.大于零的整数 c.大于零的数 d.非零的整数。
3.以下程序的输出结果是( )
main()
a.a=%2,b=%5 b.a=2,b=5 c.a=%%d,b=%%d d.a=%d,b=%d
4.若有定义:int a,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是( )
a.3 5 b.3,5 c.3;5 d.35
5.以下程序段的输出结果是( )
#include <>
main()
a.9 8 b.8 9 c.6 6 d.以上三个都不对。
6.若给定条件表达式(m)?(a++)a--)则和表达式m等价的表达式为( )
a.m==0 b.m==1 c.m!=0 d.m!=1
7.有以下程序:
#include <>
main( )while(!(x));
a.1 b.3 0 c.1 -2 d.死循环。
9.有以下程序:
#include <>
main( )
程序运行后的输出结果是( )
a.7 b.0c.ld. -1
10.在编译预处理中,以下有关宏替换的叙述不正确的是( )
a.宏替换不占用运行时间b.宏名无类型。
c.宏名必须用大写字母表示 d.宏替换只是字符替换。
11.以下对一维数组a的正确说明是( )
a.char a(10); b.int a[ ]c.int k=5,a[k]; d.char a[ ]
12.有以下程序:
#include <>
main( )printf(“%s”,ch[1]);
程序运行后的输出结果是( )
a.bbbb.ccc.bbbcc d. aaaa
13.以下程序的输出结果是( )
void prtv(int *x)
main()
a.23 b.26 c.25 d.24
14.有两个字符数组a、b,则以下能正确为a、b进行赋值的语句是( )
a.gets(a,bb.scanf(“%s%s”,&a,&b);
c.getchar(a);getchar(b); d.gets(a);gets(b);
15.根据以下定义,能输出大写字母m的语句是( )
struct person;
struct person class[10]=;
a.printf(“%c”,class[3].name); b.printf(“%c”,class[2].name[0]);
c.printf(“%c”,class[2].name[1]);d.printf(“%c”,class[3].name[1]);
16.有一个二维数组a[3][4],2行3列元素的正确表示方法为( )
a.&a[2][3] b.a[2]+3 c.*(a+2)+3 d.*(a[2]+3)
17.以下正确的函数首部是( )
a.float swap(int x,yb.int max(int a,int b)
c.char scmp(char c1,char c2); d.double sum(float x;float y)
18.若用数组名作为函数调用的实参,传递给形参的是( )
a.数组的首地址 b.数组第一个元素的值 c.数组中全部元素的值 d.数组元素的个数。
19.有程序段:enum month;
enum month mon1= mar,mon2=sept;printf(“%d,%d”, mon1, mon2);
则程序输出结果是( )
a.3,9 b.0,0 c.2,8 d. 2, 13
20.设fp已定义,执行语句fp=fopen(“file”,“w”);后,以下针对文本文件file操作叙述的选项中正确的是( )
a.写操作结束后可以从头开始读 b.只能写不能读。
c.可以在原有内容后追加写 d.可以随意读和写。
三.程序阅读题(每空2分,共24分)
1.下面程序的功能是用"辗转相除法"求两个正整数的最大公约数,请填空。
main()
2.用数组求fibonacci数列前30个数,要求每行输出6个数据,请填空。
main( )
for(i=2;i<30;i++)f[i]= 3
for(i=0;i<30;i++)
if(i%6== 4】 )printf(“”);printf(“%12d”,f[i]);
3.以下函数是求x的y次方,请填空。
double fun(double x,int y)
int i;double z= 【5】 ;
for(i=1;i 【6】 ;i++)z= 【7】 ;return z;}
4.下面程序的运行结果是 【8】 。
#include <>
#define mul(x,y) (x)*y
main( )
5.以下程序的输出结果: 【9】 。
#include <>
main()while(s<15); printf(“%d”,i);}
6.以下程序的输出结果: 【10】 。
double sub(double x,double y,double z)
y-=1.0;z=z+x;return z;}
c语言试卷c
a.p q c.p n1 10 若有说明语句 int a,b,c,d c 则能从键盘读入三个整数分别赋给变量a b c的语句是。a.scanf d d d a,b,d b.scanf d d d a,b,d c.scanf d d d a,b,dd.scanf d d d a,b,d 11 c语言标...
C语言试卷A
青海大学试卷 a卷 系别 班级学号姓名。考试课程 程序设计基础 c 考试日期 2009 年 12月17日。注 所有答案均写在答题卡上,答在试卷上不得分,考试结束后试卷和答题卡一并交回。一 填空题 每空1分,共16分 1 整型静态数组没有初始化,也没有赋值,此时数组元素的值均为 0 2 数组在内存中占...
C语言试卷
一 填空共5题 共计10分 第1题 2.0分 题号 339 赋值运算符的结合性是由 右 至 左 第2题 2.0分 题号 925 在c 语言结构化程序中,函数 是程序的基本组成单元 在c 语言的面向对象设计框架中,对象 是程序的基本组成单元。第3题 2.0分 题号 926 c 语言的参数传递机制包括传...