当前位置:文档之家› 高级语言程序设计练习题

高级语言程序设计练习题

(一)填空题:1.C语言程序的基本单位是______________。

2.在C语言中,数字056是一个______________进制数,0xFF是一个______________进制数。

3.若程序中使用了函数scanf(),则必须包含的头文件名为。

4. 若程序中使用了函数strlen(),则必须包含的头文件名为。

5.C语言程序的三种基本结构是______________、______________、______________。

6.若程序中使用了函数sqrt(),则必须包含的头文件名为。

7.C语言中运算对象必须是整型的运算符是。

8.C语言中整型数据除以整型数据得到数据。

9.C语言源程序文件的扩展名是;经过编译后,所生成文件的扩展名是;经过链接后,所生成的文件扩展名是。

10. 若定义int a[3][5];则a数组所含数组元数个数是,sizeof(a)的值是,其首地址是。

11.在C语言中,数组名是数组的,同时它是一个______ 常量。

12.判断字符型变量ch是否为小写英文字母的C语言表达式为____________________________。

13.判断变量a的数值范围1≤a≤10的C语言表达式是__________________ _________ _。

14.C语言运算符中,++和--的结合方向(运算方向)是___________________。

15.当用户输入的字符串含空格时,应使用 ___ 函数读入字符串。

16.函数直接或间接地调用自己本身称为_______________________。

17.已知w=1,x=2,y=3,z=3,a=4,b=2;则执行语句(a=w>x)&&(b=y>z);后,a的值为,b的值为。

18.字符串"student"的长度是,它在内存中的字节数为。

19. 设a、b、c为整型数,且a=2,b=3,c=4,则执行语句"a*=16+(b++)-(++c);"后,a的值是。

20.执行int x,y,z;x=y=1;z=(x++,++y,y++);后,则x= ,y= ,z= 。

21.定义语句int x,y;,执行y=(x=1,++x,x+2);语句后,则x= ,y= 。

22. 执行下列语句int a=2;a+=a-=a*a; 后,a的值是。

23.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是 _ _ _。

24. 有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>int main(){ char *s="abc" ;do{ printf("%d",*s%10) ;++s;}while(*s) ;return 0;}程序运行后的输出结果是。

25. 以下程序运行后的输出结果是。

#include <stdio.h>int fun(int x){ int p ;if (x==0 || x==1)return(3) ;p=x-fun(x-2) ;return p ;}int main( ){ printf("%d\n" , fun(9)) ;return 0;}26. 有以下程序:#include <stdio.h>int main(){ int a,b=0;for(a=0;a++<=2;);b+=a;printf("%d,%d\n",a,b);}程序运行后的输出结果是。

27. 以下程序运行后的输出结果是。

#include <stdio.h>int main( ){ int i , j , row , column , m ;int array[3][3]={{100 , 200 , 300} , {28 , 72 , -30} , {-850 , 2 , -26}} ;m=array[0][0];for(i=1 ; i<3 ; i++)for(j=0 ; j<3 ; j++)if(array[i][j]<m){m=array[i][j] ; row=i ; column=j ;}printf("%d,%d,% d\n",m,row,column); return 0;}28.对于以下宏定义:#define M 1+2#define N 2*M+1执行语句“x=N;”之后,x的值是。

29.对于以下宏定义:#define M(x) x*x#define N(x,y) M(x)+M(y)执行语句z=N(2,2+3);后,z的值是。

30.已知老师记录描述为struct teather{ int id;struct{ int y;int m;int d;}birth;}t;将变量t中的d成员赋值为12 的语句为_____________ ____ __。

31.下面语句中的指针s所指字符串的长度是 ______。

char *s="\t\"Name\\Addres\n" ;32.使用fopen("abc.txt",“w+”)打开文件时,如abc.txt文件不存在,则_________________ __。

33.C语言中,根据数据的存放形式,文件可以分为_____________文件和_____________文件。

34.C语言中,文件的格式化输入输出函数对是_____________和____________。

35.C语言中用_____________函数打开文件,用____ ________函数关闭文件。

36. 下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。

#include <stdio.h>int main(){ int a[10],min,i;for(i=0;i<10;i++)_____________ _______________;min=a[0];for( i=2; i<10; i=i+2 )if(______________________)min=a[i];printf("%d",min);return 0;}37. 下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调用公约数函数求解,输出结果。

请在横线上填入相应的语句以使程序完整。

#include <stdio.h>int Gcd( int m, int n){ int r;r=m%n;if( )return n;return ;}int main(){ int m,n;scanf("%d%d",&m,&n);printf("Gcd of m and n is: %d\n", );return 0;}(二)选择题:1.第一个结构化程序设计语言是。

A) Pascal B) C C) Basic D) Fortran 2.以下哪一种程序设计语言是目前最受欢迎的编程语言之一。

A) Pascal B) C C) Basic D) Fortran 3.C语言规定:源程序中main函数的位置________。

A) 必须在最开始 B) 必须在调用的函数的后面C) 可以任意 D) 必须在最后面4."程序存储思想"是提出来的。

A) 丹尼尔·里奇B) 冯·诺依曼 C)贝尔D) 马丁·理查德5.计算机中的所有信息都是以的形式存储在机器内部的。

A) 字符 B)二进制编码 C) BCD码 D) ASCII码6.C语言中,下列哪一个不是合法的标识符________。

A) _file B) printf C) xyz.c D) ab3C7.C语言中,下列哪一个是合法的标识符________。

A) 3*X B) for C) _filename D) $X8.关于软件和程序,下列说法不正确的是 ________。

A) 软件的核心是程序 B) 软件就是程序C) 软件=程序+文档 D) 软件中文档必不可少9.C语言中,错误的转义字符是()。

A) '\n' B) '\101' C) '\" ' D) '\108' 10.属于C语言基本数据类型的是________。

A) 数组型B) 浮点型 C) 指针型 D) 结构型11.以下正确的C语言变量名是________。

A) %k B) a+b C) a123 D) test!12.C语言中主函数的个数是________。

A) 2个 B) 1个 C) 任意个 D) 10个13.不属于C语言基本数据类型的是________。

A) 字符型B) 浮点型 C) 整型 D) 结构型14.在C语言中,合法的字符常量是________。

A) '\084' B) '\x43' C) 'ab' D) "\0" 15.执行语句a=4*5,a*2,a+15;后a的值是________。

A) 35 B) 40 C) 55 D) 2016.C语言程序的三种基本结构是 _________。

A) 顺序结构,选择结构,循环结构 B) 递归结构,循环结构,转移结构C) 嵌套结构,循环结构,顺序结构 D) 递归结构,选择结构,顺序结构17.以下选项中不属于字符常量的是________。

A) 'C' B) '\072' C) '\xCC' D) "C"18.设a为int型变量,分别执行下列赋值语句后,a所获得的值分别是______。

a=125.534; a=20.0/3; a=(int)125.521%4;A)125,6,31B)125,6,1C)125,7,1D)125.534,6.666666,1.52119.若已定义x和y为double类型变量,则表达式“x=1,y=x+3/2”的值是____。

A) 1 B) 2 C) 2.0 D) 2.520.以下选项中不属于字符常量的是________。

A) "s" B) '\117' C) '\x86' D) 'a'21.以下选项中,不是C语句的是________。

A) a+=b; B) ;C) {x++;++y;} D) printf(“%d”,a)22.以下非法的赋值语句是 ________。

相关主题