高级语言程序设计练习题

更新时间:2024-06-21 13:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(一)填空题:

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.字符串\的长度是 ,它在内存中的字节数为 。 19. 设a、b、c为整型数,且a=2,b=3,c=4,则执行语句\后,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 int main() { char *s=\ do

{ printf(\ ++s; }while(*s) ; return 0; }

程序运行后的输出结果是 。 25. 以下程序运行后的输出结果是 。 #include int fun(int x) { int p ;

if (x==0 || x==1) return(3) ; p=x-fun(x-2) ; return p ; }

int main( )

{ printf(\ return 0; }

26. 有以下程序:

#include int main() { int a,b=0; for(a=0;a++<=2;); b+=a;

printf(\}

程序运行后的输出结果是 。

27. 以下程序运行后的输出结果是 。 #include 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=array[i][j] ; row=i ; column=j ;} printf(\}

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=\;

32.使用fopen(\“w+”)打开文件时,如abc.txt文件不存在,则_________________ __。

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

件。

34.C语言中,文件的格式化输入输出函数对是_____________和____________。 35.C语言中用_____________函数打开文件,用____ ________函数关闭文件。 36. 下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。 #include 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(\return 0; }

37. 下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调用公约数函数求解,输出结果。请在横线上填入相应的语句以使程序完整。 #include int Gcd( int m, int n) { int r; r=m%n;

if( ) return n;

return ; }

int main() { int m,n;

scanf(\

printf(\ 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) ab3C 7.C语言中,下列哪一个是合法的标识符________。

A) 3*X B) for C) _filename D) $X 8.关于软件和程序,下列说法不正确的是 ________。 A) 软件的核心是程序 B) 软件就是程序 C) 软件=程序+文档 D) 软件中文档必不可少 9.C语言中,错误的转义字符是( )。 A) '\\n'

B) '\\101' C) '\\\

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) \15.执行语句a=4*5,a*2,a+15;后a的值是________。

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

A) 顺序结构,选择结构,循环结构 B) 递归结构,循环结构,转移结构 C) 嵌套结构,循环结构,顺序结构 D) 递归结构,选择结构,顺序结构

11.#include int main ( )

{ int array[]={1,2,3,4,5};

int y=0,i,*p; p=&array[4];

for(i=0;i<=3;i++) { y=y+*p; p--;} printf(\return 0; }

12.#include long fun(int n) { long s; if(n==1||n==2)

s=2; else

s=n+fun(n-1); return s; }

int main( ) { printf(\ return 0; }

13.#include int main ( )

{ int arr[10]={2,3,-9,5,7,0,4,-1,6,-7}; int *p,sum=0;

for(p=&arr[3];p

return 0; }

(五)编程题:

1. 请编写程序:从键盘输入一个年份year(假设输入的都是4位十进制整数),判断其是否是闰年并输出结果。闰年的条件:能被4整除,但不能被100整除;或者能被400整除。 2.编写程序找出所有的“水仙花数”保存到数组s中并输出。(所谓“水仙花数”是指一个

333

三位数,其各位数字的立方之和等于该三位数,如:407就是一个水仙花数,因为4+0+7=407)。 3. 请编写程序,以每行8个的形式输出100~999内的质数。要求判断质数在子函数中完成。

4. 请编写程序:从键盘输入一个数n,判别它是否能被3、5和7同时整除,若能整除,则输出YES,否则输出NO。

5. 请编写程序,要求主函数中读入任意一个正整数,运用调用递归函数的方法实现求n!。 6.请编写程序,从键盘输入一行文字,统计其中字母、空格、数字和其他字符各有多少并打印出结果。

7. 有一段文字,请编写程序找出给定单词在文字中出现的次数,假定原文中的任意分隔符都不会连续出现。

8. 输入10个整数,将其中最小的数与第1个数对换,将最大的数与最后一个数对换。输出交换前和交换后的所有元素(根据需要定义数组和函数实现功能)。

9. 请编写程序,从键盘输入一个整数n,计算并输出1+2+3+?+n的值。要求数据的输入和输出在主函数中完成,主函数中调用递归函数fun(int n) 计算和值,该函数的原型为int fun(int n)。

10. 请编写程序,从键盘输入任意一个字符串,判断该字符串是否为回文,要求回文的判断在子函数中完成。所谓回文就是去掉空格后的字符串是中心对称的,例如:\就是回文,而\就不是回文。

本文来源:https://www.bwwdw.com/article/zji3.html

Top