天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

天津工业大学信息与通信工程学院08-09-1学期《C语言程序设计》期末试卷(A卷)

学号班级姓名

分。请将正确的答案标号画上○)

不正确的:

A. 标识符可以用于定义变量的名称

B. 标识符可以用于自定义函数的名称

C. 关键字可以用于定义变量的类型

D. 关键字也可以用于定义变量的名称

2. C语句的基本类型有5种,除控制语句、函数调用语句、表达式语句、空语句外,还有一种是:

A. 复合语句

B. 赋值语句

C. 输入语句

D. 输出语句

3. C语言表达式(int)2.52+2.49+1/2的值是:

A. 5.51

B. 5

C. 4.99

D. 4.49

4.已知a、b都是int型,则运行语句 scanf(”%d%d”,&a,&b);时,如何键入不能使a、b得到的值分别是2和3 ?

A. 2 3<回车>

B. 2 3<回车>

C. 2<回车>3<回车>

D. 2,3<回车>

5. 已知x是int型且值为15,则C语言表达式0

A. 1

B. 0

C. ”是”

D. ”非”

6. 语句 if(x>=’a’&&x<=’z’)x-=32;的功能是:

A. 若x是字符’a’或是字符’z’,则将其转换为相应的大写字母

B. 若x是小写英文字符,则将其转换为相应的大写字母

C. 若x不是小写英文字符,则将其值自减32

D. 若x不是小写英文字符,则将其值改为32

7. 已知i是char型,则关于语句 for(i=0;i<10;i++);的叙述中,错误的是:

A. 因i不是int型,所以该循环语句的语法错误

B. 循环10次

C. 语句结束后,i的值是10

D. 循环体是一个空语句

8. 语句“printf(“%-10.3f”,3.1415926);”的运行结果是:

A. 输出“-10.3”

B. 输出“3.142”,占10位,左对齐

C. 输出“-3.142”,占10位,右对齐

D. 输出“3.142”,整数部分占10位,小数部分占3位,连同小数点一共占用14位,左对齐

9. 已知a是一个char型一维数组名,且该数组内存有一个字符串,p是一个char型指针变量,则语句“p=a+strlen(a);”的作用是:

A. 将指针p指向a数组的最后一个元素

B. 将指针p指向a数组内的字符串的结束标记

C.将指针p内存放a数组的长度

D.将指针p内存放a数组内的字符串的长度

10. 关于“if(表达式) 语句1 else 语句2”语句,下列叙述中,错误的是:

A. 其中的“表达式”,可以是一个关系表达式或逻辑表达式,也可以是一个其他类型的表达式

B. 其中的“语句1”只能是一个语句

C. 其中的“语句2”只能是一个语句

D. 其中的一对圆括号“( )”有时可以省略

11. 关于数组定义与引用的概念、方法,下列叙述中错误的是:

A. 在函数内部定义int a[N]; ,如此定义时,“N”必须是通过#define 定义过的符号常量,而不可以是变量

B. int a[3]={1,2,3}; ,如此定义数组并将其初始化时,数组长度“3”

可以省略

C.int a[3]; ,如此定义数组a且不给其初始化时,默认a内的各元素得到的初始值均为0

D.定义二维数组、且有初始化时,数组的第二维的长度(总列数)不可以省略

12. 下列常用字符、字符串处理库函数中,无参函数是:

A. gets()

B. puts()

C. getchar()

D. putchar()

13. 关于常量,下列叙述正确的是:

A. “036”表示有效数字是3位的十进制“36”的数

B. 常量“1234”被默认为int型

C. 常量“1e3”与常量“1000”两种表示法,所代表的数值大小、数据类型都相同

D. 常量“5”可以通过语句“5++;”变成数值6

14. 关于变量、变量地址、变量访问、间接访问的概念,下列叙述错误的是:

A. 已知a是int型变量,则C程序中“a”表示变量a中存储的值,“&a”表示变量a的存储地址

B. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的值,“&a”表示指针变量a的存储地址

C. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的地址,“&a”表示指针变量a自身的存储地址

D. 已知a是int型指针变量,则C程序中“*a”表示指针变量a中存储的地址中所存储的值

15. 假设有如下定义:

struct a{int x;float y;}b,c[10],*d;

则有关结构体的类型定义、变量定义、数组定义、访问的基本概念,下列叙述错误的是:

A. “a”是结构体类型名

B. “b”是结构体变量名

C. 数组c内可以同时存放10个int型数值和10个float型数值D.执行语句“d=c;”后,“d->y”与“c[0].y”不等价

30分)

1. 下一程序运行时将输出 ________________________ 。

main()

{ int a=1; a++; ++a; --a; printf("%d",a); getch(); } 2. 下一程序运行时将输出 _____________ 。

int f(int x)

{ return x%x; }

main()

{ int x=5; printf("%d",f(x)); getch(); }

3. 下一程序运行时将输出 _____________ 。

int f(int x)

{ if(x==1) printf("%2d",x);

else { f(x-1);printf("%2d",x%10); }

}

main()

{ int x=5; f(x); getch(); }

4. 下一程序运行时若键入字符串ABCDEFGH,则程序输出 _ _ _ 。void f(char a[])

{ char b[100]; int i,j,k;

k=strlen(a);

for(i=j=0;i

b[j]='\0';

strcpy(a,b);

}

main()

{ char c[100]; gets(c); f(c); puts(c); getch(); } 5. 下一程序运行时将输出 _____________ 。

void f(int *p,int *q)

{ *q=*p**p; }

main()

相关文档
最新文档