云南师范大学C语言期末试题1

云南师范大学C语言期末试题1
云南师范大学C语言期末试题1

云南师范大学2009-2010学年下学期统一考试

《计算机技术基础》(C语言)期末考试试卷

考试方式(闭卷)考试时量:90分钟试卷编号(A卷)

一、判断题:(每题1分,共10分)

1. C语言中表达式3/2得到的结果是1.5。b

A.对

B.错

2.在C 程序中,APH 和aph 代表不同的变量。a

A.对

B.错

3. c程序总是从程序的第一条语句开始执行。b

A.对

B.错

4.选择结构(if语句)和循环结构都可以使用嵌套形式。a

A.对

B.错

5.构成数组的各个元素可以有不同的数据类型。b

A.对

B.错

6.对于用户自己定义的函数,在使用前必须加函数声明。

A.对

B.错

7.C语言中数据类型只有整型、实型和字符型。

A.对

B.错

8.有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 *(P+8)。 a

A.对

B.错

9.typedef可以定义生成新的数据类型。b

A.对

B.错

10. 函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是3。

A.对

B.错

二、单选题(在本题的每一小题的被选答案中只有一个正确答案,多选不给分,每题1分,共30分)

1.C语言源程序文件经过C编译后生成的目标文件的后缀名为 _____B

A..c

B..obj

C..exe

D..cpp

2.下列不合法的用户标识符是________。A

A.4d B.j2_KEY

C.Double D._8_

3.以下选项中正确的定义语句是____。c

A.double a; b; B.double a=b=7;

C.double a=7, b=7; D.double, a, b;

4.任何一个C语言的可执行程序都是从____开始执行的。b

A.程序中的第一个函数

B.main( )函数的入口处

C.程序中的第一条语句

D.编译预处理语句

5.若有定义语句: int x=10;,则表达式x-=x+x的值为 ____。

A.-20 B. 10 C. 0 D.-10

6.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_C_。

A.算术运算、赋值运算、关系运算

B.系运算、赋值运算、算术运算

C.算术运算、关系运算、赋值运算

D.关系运算、算术运算、赋值运算

7.在C语言中,多分支选择结构语句为:

switch(c)

{ case 常量表达式1:语句1;

……

case 常量表达式n-1:语句n-1;

default 语句n;}

其中括号内表达式c的类型:。c

A.可以是任意类型 B.只能为整型

C.可以是整型或字符型 D.可以为整型或实型

8.C语言函数内定义的局部变量的隐含存储类别是____。b

A.static

B.auto

C.register

D.extern

9.有定义:char*p1,*p2;则下列表达式中正确合理的是____。c

A.p1/=5

B.p1*=p2

C.p1=&p2

D.p1+=5

10.设变量定义为“int x, *p=&x;”,则p相当于_____。a A.&x B.*p C.x D.*(&x) 11.以下程序的执行结果是_______。c

main()

{ int num = 0;

while( num <= 2 ) { num++; printf( "%d,",num ); } } A.0,1,2

B. 1,2

C. 1,2,3

D. 1,2,3,4

12.以下程序的执行结果是________。d

main()

{ int w = 1, x = 2, y = 3, z = 4;

w =( w < x ) ? x : w;

w =( w < y ) ? y : w;

w =( w < z ) ? z : w;

printf( "%d " , w );}

A.1

B.2

C.3

D.4

13.C语言中while和do—while循环的主要区别是_____c

A.While的循环控制条件比do—while的循环控制条件严格

B.do—while允许从外部转到循环体内

C.do—while的循环体至少无条件执行一次

D.do—while循环体不能是复合语句

14.下列说法中错误的是____。b

A.一个数组只允许存储同种类型的变量

B.如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值

C.数组的名称其实是数组在内存中的首地址

D.当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改

15.若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是____。C

A.m[--i] B.m[2*2] C.m[m[i]] D.m[m[0]]

16.下列语句定义pf为指向float类型变量f的指针,_____是正确的。b

A.float f, *pf = f;

B.float f, *pf = &f;

C.float *pf = &f, f;

D.float f, pf;

17.以下关于long、int和short类型数据占用内存大小的叙述中正确的是____。d

A.均占4个字节

B.根据数据的大小来决定所占内存的字节数

C.由用户自己定义

D.由C语言编译系统决定

18.以下正确的字符常量是___。a

A.'A' B.'cd' C."\a" D.''

19.如果int a=2,b=3,c=0,下列描述正确的是____。b

A.a>b!=c和a>(b!=c)的执行顺序是一样的

B.!a!=(b!=c)表达式的值为1

C.a||(b=c)执行后b的值为0

D.a&&b>c的结果为假

20.判断char型变量ch是否为大写字母的正确表达式是____。

A.’A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)

C.(ch>=’A’)&&(ch<=’Z’) D.(‘A’<=ch)AND (‘Z’>=ch) 21.下面说法中错误的是____。d

A.共用体变量的地址和它各成员的地址都是同一地址

B.共用体内的成员可以是结构变量,反之亦然

C.在任一时刻,共用体变量的各成员只有一个有效

D.函数可以返回一个共用体变量

22.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是。C A.char s[10]="abcdefg";

B.char t[]="abcdefg",*s=t;

C.char s[10];s="abcdefg";

D.char s[10];strcpy(s,"abcdefg");

23.下面叙述中正确的是___B_。

A.全局变量在定义它的文件中的任何地方都是有效的

B.全局变量在程序的全部执行过程中一直占用内存单元

C.同一文件中的变量不能重名

D.使用全局变量有利于程序的模块化和可读性的提高

24.若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入 d

A.20 30,40

B.20 30 40

C.20,30 40

D.20,30,40

25.若函数的形参为一维数组,则下列说法中正确的是___ _。d

A.调用函数时的对应实参必为数组名

B.形参数组可以不指定大小

C.形参数组的元素个数必须等于实参数组的元素个数

D.形参数组的元素个数必须多于实参数组的元素个数

26.main()

{int x=1,a=0,b=0;

switch (x)

{ case 0: b++;

case 1: a++;

case 2: a++;b++;}

printf(“a=%d,b=%d”,a,b);

}该程序的输出结果是_____c

A.1,0

B.1,1

C.2,1

D.2,2

27.定义共用体的关键字是_____ a

A.union

B.enum

C.struct

D.typedef

28.下列关于指针定义的描述,___________是错误的。 b

A.指针是一种变量,该变量用来存放某个变量的地址值的

B.指针是一种变量,该变量用来存放某个变量的值

C.指针变量的类型与它所指向的变量类型一致

D.指针变量的命名规则与标识符相同

29.以下结构体类型说明和变量定义中正确的是。 A A.typedef struct B.struct REC;

{ int n; char c;} REC; { int n; char c;};

REC t1,t2; REC t1,t2;

C.typedef struct REC D.struct

{ int n=0; { int n; char c;} REC;

char c='A'; } t1, t2; REC t1, t2;

30.使用fseek函数可以实现的操作是。A

A.改变文件的位置指针的当前位置

B.文件的顺序读写

C.文件的随机读写

D.以上都不对

三、填空题:(每空2分,共20分)。

1.若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值是【1】1

2.C语言中一个函数由函数首部和【1】两部分组成。

3.设变量定义为“int x=3, *p=&x;”,设变量x的地址为2000,则*p=【1】,&(*p)=【2】(填数字)

4.以下是对fun函数的正确调用:

fun(a+b,fun(a+b,(a,b)));

则fun函数有【1】个形参。2

5.有以下程序段,且变量已正确定义和赋值

for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));

printf("s=%f\n\n",s);

请填空,使下面程序段的功能为完全相同

【1】;k=1;

while(【2】)

{ s=s+1.0/(k*(k+1)); 【3】;}

printf("s=%f\n\n",s);

6.有以下程序功能是:输入一个正整数,判断其是否为素数。请填空#include

void main()

{

int n, i

printf("请输入一个正整数:");

scanf("%d", &n);

for(【1】; i< n; i++)

if(【2】) break;

if( i< n )

printf("%d不是素数\n", n);

else printf("%d是素数\n", n);

}

四、编程题:(共40分)。

1.从键盘输入3个整数a,b,c,要求从小到大输出。(12分)

2.请用while循环把1~100之间所有的偶数相加,结果存放到变量sum中。(13分)

3.有一个数组score[8],内放8个学生的英语成绩,写一个函数float average(float a[],int n)(其中n表示学生的人数)求出平均分aver,并在主函数中输出平均分和高于平均分的英语成绩。(要求输出保留2位小数)(15分)

答案

一、判断题:

1~5 B A B A B 6~10 B B A B A

二、单选题

1~5 B A C B D 6~10 C C B C A

11~15 C D C B D 16~20 B D A B C

21~25 D C B D D 26~30 C A B A A

三、填空题:

1.1 2.函数体

3.[1]3 [2] 2000

4.2

5.[1] s=1.0 [2] k<=n [3]k++

6.[1] i=2[2]n%i==0

四、编程题:

1.参考程序:

#include

void main()

{

int a,b,c,t;

printf("请输入3个整数:");

scanf("%d%d%d ",&a,&b,&c);

if (a>b)

{t=a;a=b;b=t;}

if (a>c)

{t=a;a=c;c=t;}

if (b>c)

{t=b;b=c;c=t;}

printf("从小到大的数为%d,%d,%d ",a,b,c); }

2.参考程序:

#include

void main ( )

{

int i = 2, sum = 0;

while ( i <= 100 )

{ sum = sum + i;

i=i+2;

}

printf ("sum = %d\n", sum);

}

3.参考程序:

#include

float average(float a[],int n)

{ int i; float aver=0;

for(i=0;i

aver=aver+a[i];

aver=aver/n;

return aver;

}

void main()

int i, s,c;

float score[8],s_aver;

printf("输入学生的成绩:");

for(i=0;i<8;i++)

scanf("%f",&score[i]);

for(i=0;i<8;i++)

printf("%.2f\n",score[i]);

printf("\n");

s_aver=average(score,8);

printf("学生的平均成绩是:%.2f\n", s_aver);

for(i=0;i<8;i++)

{ if(score[i]>s_aver)

printf("高于平均成绩有:%.2f\n", score[i]); }

}

郑大远程教育《C语言程序设计》第17章在线测试

C 语言程序设计》第17 章在线测试剩余时间: 59:54 答题须知:1 、本卷满分20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共 5 分) 1、若已定义:int a[] = {0,123,4,5,6,7,8,9}, *p = a, i;其中0 w i 则对,a数组元素不正确的引用是: D A、a[p-a] B、*(&a[i]) C、p[i] D、a[10] 2、已知int a[] = {1,2,3,4,5,6,7,8,9},*p = a;则值为3 的表达式是(A) A、p+ = 2,*(p++) B p+= 2,*++p C、p+= 3,*p++ D p+= 2,++*p 3、若有int f(int a,int b); ,则说明函数f( B)。 A、是一个内部函数 B、能被同一源程序其他文件中的函数调用 C、是一个外部函数 D、只能在本文件中使用 4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( C)。 A、auto B、static C、extern D、register 5、在主函数中定义的变量(A )。 A、只在主函数中有效 B、可以在整个文件中有效 C、可以在所有函数中有效 D、可以在被调用的函数中有效 第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:ABC A、预处理命令须以#开始 B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句 D、C程序在执行过程中对预处理命令进行处理 2、下列描述中,错误的描述是:BCD A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部 D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备 3、下列对宏定义的描述中,正确的描述是:ABD A、宏不存在类型问题,宏名无类型,参数也无类型 B、宏替换不占用运行时间

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.360docs.net/doc/b216760967.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

郑州大学c语言实验报告答案

郑州大学C语言实验报告答案 实验一 1、 #include void main() { int a,b,c; scanf("%d,%d,%d",&a,&b,&c); printf("sum=%d\n",a+b+c); }2、 #include void main() { int a,b,he,cha,ji,shang; scanf("%d,%d",&a,&b); he=a+b; cha=a-b; ji=a*b; shang=a/b; printf("he=%d\n",he); printf("cha=%d\n",cha); printf("ji=%d\n",ji); printf("shang=%d\n",shang); }3、 #include void main() { int a,b,c,d,e,sum; scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e); sum=a*a+b*b+c*c+d*d+e*e; printf("sum=%d\n",sum); } 4#include include void main() { double a,b,c,sum; scanf("%lf,%lf,%lf",&a,&b,&c); sum=sqrt(a)+sqrt(b)+sqrt(c); printf("sum=%f\n",sum); }

#include #define PI 3.14159 void main() { float r,l,s; printf("请输入圆半径(r):"); scanf("%f",&r); l=2*PI*r; s=r*r*PI; printf("\n圆周长 l=%6.2f\n",l); printf("圆面积 s=%6.2f\n",s); } 6、 #include void main() { printf("\"what a beautiful campus!\"\n"); printf("\"I wish you every success!\"\n"); } 实验二 1、#include void main() { int a,b,c;float x; scanf("a=%d,b=%d,c=%d,x=%f",&a,&b,&c,&x); printf("%f",a*x*x*x+b*x*x+c); } 2、#include void main() { int a,b; scanf("a=%d,b=%d",&a,&b); printf("ji=%d,shang=%d,yushu=%d",a*b,a/b,a%b); }3、 #include void main() { float c,f; printf("请输入一个华氏温度f:"); scanf("%f",&f); c=5.0/9.0*(f-32); printf("\n摄氏温度为: %5.2f\n",c);

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

郑州大学c语言考试题1

【HNCE网上考试系统 v9.6】本套软件使用权属于:郑州大学 考试课程: 考试时间:100分钟考场:第一考场考试日期:2013.05.24 考号:11100000000姓名:剩余时间:99:41 保存交卷退出帮助 有3道大题: 项选择题(50道小题,共50分) 一个C语言程序是由()。(1分) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 一个C程序的执行是从()。(1分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 以下叙述中,不正确的是()。(1分) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段()。(1分) A、输出的是1 B、输出的是1和-2 C、输出的是3和0 D、是死循环 下列四个选项中,都是合法的转义字符的是()。(1分) A、'\''、'\\'、'\n' B、'\'、'\017'、'\"' C、'\018'、'\f'、'xab' D、'\\0'、'\101'、'x1f' 若有定义:int a=7;float x=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是()。(1分) A、2.500000 B、2.7500OO C、3.500000 D、0.000000 若x,i,j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x的值为()。(1分)

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

郑州大学c语言考精彩试题1

【HNCE网上考试系统v9.6】本套软件使用权属于:大学 考试课程: 考试时间:100分钟考场:第一考场考试日期:2013.05.24 考号::剩余时间:99:41 保存交卷退出帮助 有3道大题: 项选择题(50道小题,共50分) 一个C语言程序是由()。(1分) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 一个C程序的执行是从()。(1分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 以下叙述中,不正确的是()。(1分) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段()。(1分) A、输出的是1 B、输出的是1和-2 C、输出的是3和0 D、是死循环 下列四个选项中,都是合法的转义字符的是()。(1分) A、'\''、'\\'、'\n' B、'\'、'\017'、'\"' C、'\018'、'\f'、'xab' D、'\\0'、'\101'、'x1f' 若有定义:int a=7;float x=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是()。(1分) A、2.500000 B、2.7500OO C、3.500000 D、0.000000 若x,i,j和k都是int型变量,则执行表达式 x=(i=4,j=16,k=32)后,x的值为()。(1分)

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

郑大远程教育《C语言程序设计》第05章在线测试

《C语言程序设计》第05章在线测试 剩余时间: 59:46 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、已有int x=2,y=7;则printf("%d",x+y==6);的输出结果是:A A、0 B、3 C、9 D、2 2、下列不能输出字符B的是:B A、putchar(ˊ\x42ˊ); B、putchar(ˊ\x41ˊ); C、putchar(66); D、putchar(ˊ\101ˊ); 3、下列算术运算符中,只能在两个整型数据之间进行的运算符是( )。D A、* B、+ C、/ D、%

4、已知:int i; char c; float f; 以下表达式中值为整型的算数表达式是( )。B A、i + f B、i * c C、c + f D、i + c + f 5、函数putchar可以向终端输出一个( )。D A、任一整型的值 B、实型的值 C、字符串 D、字符 第二题、多项选择题(每题2分,5道题共10分) 1、x、y、z被定义为int 型常量,若从键盘给x、y、z输入数据,不正确的输入语句是:ACD A、input x、y、z; B、scanf(” %d%d%d”,&x,&y,&z); C、scanf(” %d%d%d”,x, y, z); D、read (” %d%d%d”,&x,&y,&z); 2、设有说明语句:char a=ˊ\72ˊ;,则变量a包含的字符数为:A A、1个字符 B、2个字符 C、3个字符 D、0个字符

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

郑大远程教育《C语言程序设计》第14章在线测试

《C语言程序设计》第14章在线测试 剩余时间: 59:55 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x++); },程序运行后,输出结果是:B A、3 B、4 C、5 D、6 2、若int a=5,b=6,c=7,d=8,m=2,n=2; 则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:C A、0 B、1 C、2 D、3 3、在函数中定义变量时,若省略存储类型符,系统默认存储类别为( )。A A、自动 B、静态

C、外部 D、寄存器 4、下列选项中关于register变量,正确的是( )。A A、频繁存取的自动变量适于定义为register变量 B、外部变量适于定义为register变量 C、存储单元较大的变量,适于定义register变量 D、静态存储的内部变量,适于定义为register变量 5、下列表述中的逗号,作为逗号运算符的是( )。B A、int fun ( int x, int y ); B、x =( x + y, x * x ); C、printf ( "%d%d", x, y ); D、printf ( "Hello, world!" ); 第二题、多项选择题(每题2分,5道题共10分) 1、已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是()AC A、p+=2,*(p++) B、p+=2,*++p C、p+=2,*p++ D、p+=2,++*p 2、如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:ACD A、出错 B、局部变量优先 C、外部变量优先

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

郑大远程教育《C语言程序设计》第17章在线测试

《C语言程序设计》第17章在线测试 剩余时间: 59:54 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中0 ≤ i ≤ 9, 则对a数组元素不正确的引用是:D A、a[p-a] B、*(&a[i]) C、p[i] D、a[10] 2、已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是(A) A、p+=2,*(p++) B、p+=2,*++p C、p+=3,*p++ D、p+=2,++*p 3、若有int f(int a,int b);,则说明函数f( B)。 A、是一个内部函数 B、能被同一源程序其他文件中的函数调用 C、是一个外部函数 D、只能在本文件中使用

4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( C)。 A、auto B、static C、extern D、register 5、在主函数中定义的变量(A )。 A、只在主函数中有效 B、可以在整个文件中有效 C、可以在所有函数中有效 D、可以在被调用的函数中有效 第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:ABC A、预处理命令须以#开始 B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句 D、C程序在执行过程中对预处理命令进行处理 2、下列描述中,错误的描述是:BCD A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部 D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

相关文档
最新文档