天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()