A) B) C) 用 typedef 可以定义各种类型名,但不能用来定义变量 用 typedef 可以增加新变量
用 typedef只是将已存在的类型用一个新的名称来代表
D) 使用 typedef 便于程序的通用和移植
28. 设a=5,b=3,则表达式a^b<<2的值(二进制表示形式)是 。 A) 00011000 B) 00001101 29. 以下运算符优先级最高的是 。 A)^ B) & C) |
优先级 1 2 3 4 5 6 7 8 9 10 11 12 13 14 类别 基本 单目 乘法与除法 加法与减法 移位运算 关系运算 条件等 位逻辑与 位逻辑异或 位逻辑或 条件与 条件或 条件 赋值 运算符 (x) x.y f(x) a[x] x++ x――new typeof sizeof checked unchecked + - ! ~ ++x ――x (T)x * / % + - << >> ﹤ > <= >= is = = ! = & ^ | && ‖ ?: = *= /= %= += -= <<= >>= &= ^= |= C) 00000100
D) ~
D) 00001001
30. 表达式 a
D) <,&,||
D) 0xaf
C) 0x15
32. 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是 。 A) -1 B) 0 C) 非0值 D) NULL
33. 若要用fopen函数打开一个二进制文件,用于先写后读操作,则打开文件的模式为 。 A) “ab+” B) “wb+” C) “rb+” D)“ab+” 34. 在C语言中,可以把整数以二进制形式存放到文件中的函数是 。 A) fprintf() B) fread() C) fwrite() D) fputc()
35. fgetc函数的作用是从指定的文件读入一个字符,该文件的打开方式必须是 。 A) 只读 B) 追加 C) 读或读/写 D)B和C都正确 36. 关于C++与C语言的关系描述中, 是错误的。 A、C语言是C++的一个子集 B、C语言与C++是兼容的
C、C++与C语言都是面向对象的 D、C++对C语言进行了一些改进 37. 在C++语言中, 是动态分配运算符。
第 5 页 ,共 9 页
A) malloc B) new 38. C++源程序文件的扩展名是 。 A) .cpp B) .c
C) free C) .dll
D) delete(释放) D) .exe
39. 若有: int x; 则正确的定义引用的语句是 。 A) int y=&x; B) int &y=x; C) int &y; D) int &y=&x; 41. 关于C++程序说法不正确的是:
A) C++程序由函数构成,但只有个main( )函数 B) C++程序中 main( )函数 可以在函数的任何位置
C) C++程序由 main( )函数开始执行,由main( )函数结束执行 D) main( )函数 都没有参数的
? 填空题20题(每题1.5分,共30分)
1. 用高级语言编写的源程序必须通过 编译 程序翻译成目标程序后才能执行。 2. C程序的语句结束符是 ; 。
3. 目标程序的扩展名是 .obj 。(源程序(.asm)——目标程序(.obj)——可执行程序(.exe))
4. 在内存中存储“B”要占用 2 字节,存储‘b’要占用 1 个字节。 5. 设int i=5; 则循环语句while(i>=1) i--; 执行后,i的值为 0 。 6. break 语句可在 循环语句 或 开关语句 中使用。
7. 设i、j、k、均为int形变量,则执行“for(i=0,j=9;i<=j;i++,j--) k=i+j;”语句后,k的值是 10 。
8. 设有定义:char s[5]={‘a’,’b’}; 则s[1]中字符是‘a’ ,s[2]中的字符是 , 。 9. 设有定义语句:char s[]=”abcdef\\0”}; 则数组s的长度是 7 ;数组元素s[6]中存放的字符是‘\\0’。
10. 设有定义语句:char s1[10]=”123\\0abc”; 则表达式”strlen(s1)”的值是 3 。 11. 定义函数时,若函数体中出现语句“return(x)”,则这种函数称为 有返回值 函数;若函数体中出现语句“return”或无该语句,则这种函数称为 无返回值 函数,该函数的数据类型为 void 。 练习题: 1、结构化程序设计由三种控制结构组成,即顺序结构、循环结构和选择结构。 2、设有定义语句:char s[][5]={“abcd”};则二维数组s中共有 5 个数组元素,s[0][0]中存放的字符是 ?a? 。 3、若有定义:int a[3][4],则a数组中行下标下限是 0 ,列下标的上限是 3 。 4、C语言中格式化文件输出函数是printf(),用于文件定位的函数是fseek()。 7、调用函数时,若形式参数和实际参数均为变量名时,传递方式为 值传递 ,若形式参数和实际参数均为数组名时,传递方式为 引用传递 。 8、类中定义的数据和函数,称为 成员变量 和 成员函数 。 9、在C++中,提供的动态分配和释放内存的操作符是 new 和 delete 。 10、C语言中,要求参加运算的操作数必须是整型数或字符型的运算符是___%______。 1、C语言所提供的基本数据类型包括:单精度型、 整型 、 布尔 、 字符 。 2、C语言提供三种逻辑运算符是 && 、 || 、 ! 。 第 6 页 ,共 9 页
3、变量的指针,其含义是指向该变量的 地址 。 5、C语言中, *运算符作为单目运算符时表示的是 指针 运算, 作为双目运算符时表示的是 乘 运算。 7、C源程序基本单位是 .cpp 。 ? 程序填空题4题(每题7.5分,共30分) 1. 下列程序的功能是计算并输出1!+2!+3!??+10!。 void main(void) {float x, y=0 ; int i, n;
for(n=1;n<=10;n++) { x=1 ;
for(i=1;i<=n;i++) x*=i ; y= y+x; }
printf(“%f\\n”,y); }
2. 从键盘读入若干个字符,输入到名为 abc.dat 的新文件中,请填空。 #include
FILE *fp; char ch;
if((fp=fopen( “abc.dat”,”w” ))==NULL) exit;
while((ch=getchar()) !=’@’) /*以@作为结束标志*/ fputc(ch,fp); fclose(fp); }
? 程序设计题2题(每题15分,共30分)
1. 编辑一个程序,可以输入一个字符,将字符与对应的ASCII码一起输出。 #include
{ char c;
scanf(\ printf(\ printf(\}
选择题
11.若有说明:char *s[]={“FORTRAN”, “BASIC”,”PASCAL”,”JAVA”,”C”}; 则表达式 *s[1]>*s[3]比较的是( )。
第 7 页 ,共 9 页
A)字符F和字符P B)字符串BASIC和字符串JAVA C)字符B和字符J D)字符串FORTRAN和字符串PASCAL 12.如下程序的输出结果是( )。 #include