视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
c练习题(总)
2025-09-28 02:06:22 责编:小OO
文档
第一章

1. C语言程序总是从           函数开始执行。

2. 在一个C源程序中,注释部分两侧的分界符分别为________和________。

3. C语言中,源程序文件的扩展名是         ,编译后生成目标文件的扩展名是           ,连接后生成可执行文件的扩展名是            。

4.C语句的最后用          结束。

第三·四章

1. Turbo C中int类型变量所占字节是         。

2. 设y是int型,请写出y为奇数的关系表达式                  。

3. 程序片段 int a = 1234; printf (" %2d\\n ",a) ; 的输出结果是             。

4. 若想将a定义为双精度型变量,应用语句                  。

5. 假设所有变量均为整型,则表达式(a = 2, b = 5, b ++, a + b)的值是             。

6. 假设所有变量均为整型,则表达式(a = 2, b = 5, a++, b++, a + b)的值为____________。

7. 假设所有变量均为整型,则表达式(a = 2, b = 5, ++b, a + b)的值为____________。

8. 设有如下语句: int a = 2, b = 5, c;c = 21%9 - (float)a + 4 / b * b;则变量c的值为            。   

9. 命题:当字符变量ch取英文字母时表达式的值为真,其C语言表达式为                                     。

10.表达式 sizeof(“key”) 的值是______。

11.C语言将一组语句扩在              中,称为复合语句。

12.请写出与表达式!(x>0)等价的表达式               。  

13.设a=12,a定义为整型变量,则表达式a+=a-=a*=a的值为         。

14.设a=12,a定义为整型变量,则表达式a+=a*=a的值为                。

15.表达式9!=8的值是   _______。

16.若已定义x和y为float类型,x=1.5则表达式y=x+3/2 的值是    ________。

17.把a1定义成双精度实型变量,并赋初值1的定义语句是                        。

18.C语言中,表达式的结果用       表示逻辑值“真”, 用          表示逻辑值“假”。

19.表达式10/3*9的结果为         ;表达式1+1==2的结果为          。

20.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式:a21.当a = 3, b = 2, c = 1时,表达式f = a > b > c的值是____    _____。

22.在C语言中空语句的形式是          。

23.如果要将g定义为长整型数据类型变量,应使用语句                         。

24.设x=2.5,a=7,y=4.7;则算术表达式:x+a%3*(int)(x+y)%2/4的结果为                    。

25. C语言提供的三种逻辑运算符是_______,_______和_________。

26.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是                       。

27.在计算机中,字符的比较是对它们的                      进行比较。

28.在内存中,存储字符‘X’要占用            字节,存储字符串“X”要占用                 字节。

29.设有int x=11;则表达式(x++*1/3)的值是                  。

30.设以下变量均为int类型,表达式(x=y=6,x+y,y+1)的值为               。   

31.调用gets和puts函数时,必须包含的头文件是                 。

32.语句printf(“%f\\n”,13.0*(1/5));的输出结果为                 。

33.在C语言中,表达式10+16%3的结果是                。

34.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符                         。

35.C语言程序的注释可以出现在程序中的任何地方,一个注释以         作为开始,以         结束。

36.若int k=7,x=12; 则表达式x%=(k-k/5)的结果为         。

37.若有以下定义:char a;int b;float c; double d;则表达式a*b+d-c值的类型为          。

38.若w=4,x=3,y=2,z=1;则条件表达式w>x? w:y39. 在C语言中,表达式10/3*9的结果是               。

40. 在<=、=、%、&&这四个运算符中,优先级最低的运算符是                。

41.在C程序中,一个C程序的执行都是从本程序的               开始,到                 结束。

42.如下语句printf("%c\\n",′A′+3); 在执行后的输出结果是           。

43.设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执行这个语句后t的值为            。

44.在C语言中,表达式8<=10的结果是               。

45. 若x、i、j和k都是int型变量,则计算x=(i=4, j=16, k=16)表达式后,x 的值为              。

46.表示条件:1047.已知int x=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为             。

48.设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是               

49.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch= ‘a’+‘8’-‘3’的值为              。

50.语句printf(“%5.2f\\n”, 2345.678); 的输出结果是                     。

函数

1.在C语言中,函数中定义的变量没有说明其存储类别,都隐含为                。

2.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));含有实参的个数为                。

3.构成C程序的基本单位是           。

4.当调用函数时,实参是变量名,则向函数传送的是                。

5.C语言中用auto,          ,static和          四个关键字来表示变量的存储类别。

6.已知 int x; 是文件file1.c中定义的一个全局变量,若文件file2.c中的某个函数也需要访问x,则在文件file2.c中x应说明为             。

7. C语言中,寄存器存储类型的关键字是              。

8.下面函数是一个求阶乘的递归调用函数。请填空。

  int fun(int n)

  {if(n = = 1 || n = = 0)             ;

   else return(             );}

9. 已知 float x; 是文件file1.c中的一个全局变量定义,若文件file2.c中的某个函数也需要访问x,则在文件file2.c中x应说明为             。

10.当调用函数时,实参是一个数组名,则向函数传递的是                   。

11. 在C语言中,形参的缺省存储类型是         。

循环

1. 结构化程序设计的三种基本结构是:顺序结构、选择结构和                 。 

2.下列程序段循环体执行的次数是          。  

    int x = 3;

    do{printf("%d",--x);}while(!x);

3.下列语句片段scanf最少可执行        次,最多可执行        次。

    for(a=0,b=0;b!=10&&a<=5;a++) scanf(“%d”,&b);

4.若i为整型变量,则以下循环体执行次数是            。for( i = 2; i = = 0; )  printf("%d i--);

5.若输入字符B,在右边的while语句执行后ch 的值是           。while(ch=getchar( )==‘A’) ;

6.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为         。

  for(i=0, j=10; i<=j; i++, j--)k=i+j;

7.若有定义int k=10;则下列程序的输出结果为                    。

  do{ printf(“%d”,k--); } while(!k);

数组

1. 已知字符数组str的定义:char str[ ] = "Hello wang"; 则函数调用 printf ("%d", strlen(str)); 的输出结果为        。

2. 设有数组定义: char str[ ] = "HENAN " ; 则数组str所占的内存空间为           。

3. 已知字符数组 str的定义:char str[ ] = "ABCDEFGHIJ";则函数调用 printf ("%s", str + 5)的输出结果为            。

4.数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素          的值为6。

5. 假定int类型变量占用两个字节,其有定义:int x[10] ={0, 2, 4 };,则数组x在内存中所占字节数是         。

6.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是               。

7.在C语言中,数组名代表                              。

8.设有代码static int a[3][4]={{1}, {2}, {3}}; 则a[1][1]的值为           ;a[2][0]的值为        。

9.设有数组定义:char array[ ]=“China”; 则数组array所占的空间为       个字节。

10.有定义:int a[3][4]; 则该数组有元素         个。

11.如果一维数组的长度为n,则数组下标的最小值为          ,最大值为              。

12.调用C语言对字符处理的库函数时,在#include命令行中应包含的头文件是                 。

指针

1. 设有定义:int n, *P = &n; 以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。

   scanf("%d", ________ );  printf("%d\\n", _________ );

2.若a是二维数组, a[2]+1的含义是                     ;*(*(a+1)+2)的含义是                   。

3.若有定义:int a[2][3] = {2, 4, 6, 8, 10, 12}; 则*(*(a + 1) + 2)的值是            。

5. 指针s指向存储单元a[2], p指向存储单元a[0], 表达式s - p的值是_____________。

6.若有定义 struct

           { int m,n;} a[2]={{1,2},{3,4}}, *p=a;

  则表达式 ++(p->m)的值为           。

7.有以下定义的语句,则*(*(p+1)+1)的值为          。

  int a[3][2]={10,20,30,40,50,60},*p; p=a;

8. 若有定义 struct

           { int m,n;} a[2]={{1,2},{3,4}}, *p=a;

    则表达式 (++p)->m的值为         。

9.若a是二维数组,则*(a[2]+2)的含义是                         ;*(a+2) 的含义是                      。

10.执行语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[2],b; b=p[5];后,变量b中的值是            。

11.若a是一维数组,且指针变量p=a,则: a+i与         等价。

12.若有定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是  8   ,*(*(a+1)+2)的值是           。

13.设有定义语句:int a[3][2]={10,20,30,40,50,60},(*p)[2]; p=a; 则*(*(p+2)+1)的值为         。

1. 设有定义: struct date

               { int day;

                char month;

                int year;

                }dd, *p = ⅆ                        

   写出引用结构体变量dd的成员dd.day的其它两种描述形式:                     ,                      。

2.设有定义:struct  st            

{ int x, y;         

              }a[4]={{10,20},{30,40},{50,60},{70,80}};

             struct st  *p=a;

  则printf(“%d”, ++p->y);的输出结果为              。

3.设有如下定义:struct  sk

                 { int n;

                   float  x;}data,*p=&data;

  若要使用p访问data中的成员n,其引用形式是                 。

4有如下结构体变量,若要从键盘输入“zhangli”给man中的name成员,应用语句                           。

      struct  person

      {char name[10];

       int age;

}man;  

1. 若将宏名SQR替换宏体3,其宏替换形式为                                            。

上机编程题

1.输入20个学生的成绩,要求:(1)求出平均成绩;(2)求出每个学生与平均成绩之差。

2.编写程序实现将二进制数转换为十进制数。(’0’的ASCII值为48)

3.从键盘输入一个百分制成绩,要求输出成绩等级“良好”、“及格”、“不及格”。(75分以上为良好,60—74分为及格,60分以下为不及格 。)

4.编写函数fac(int  n)用来求解1! + 2! + 3! +…+ n!。

5. 编写函数,求x的y次方。(不能调用pow函数)

6. 编写程序实现功能:统计正整数n的位数(例如:n = 123时结果为3)。

x (x<1)

7. 有一函数: y=  2x - 1    (1≤x<10) 编写程序,输入x的值,输出y的值。

                  3x - 11  (x≥10)

8.有一个3×4的矩阵,求其最大元素值及其行列号。

}

9. 有一函数: -1 (x<0) 编一程序,输入一个x值,输出y的值。                y=    0      (x=0)

                 1      (x>0)

10. 编写输出以下图案的程序,图案的行数由输入决定。

   A

  BBB

CCCCC

DDDDDDD

11. 编写函数:jishu(int *f, int *t, int m)。把数组中的所有奇数放在另一个数组中,函数返回奇数的个数,m接受原数组中数据的个数。(用指针实现操作)

12. 编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。

13.编写函数:void  fun(char *p) 统计并输出一个字符串中字母(不区分大小写)的个数。

14. 编程实现模拟商场购物:设购物数量用num表示,物品的单价为25元,若0≤num <50,则不优惠;若50≤num <100,则按8折优惠;若num ≥100,则按6折优惠。输入购买物品数量,计算价钱。

15. 编写程序实现将整型数组中的10个数据按由小到大的次序排列。

16. 输入某公司2009年12个月的销售业绩,编程求出销售业绩最好的月份及其销售业绩。

17.有一函数: x (x<0) 写一程序,输入x的值,输出y的值。         y=   x2 +10     (0≤x≤10)

              3*x-10    (x>10)

18.编程实现:输入30个员工的实发工资,统计并输出实发工资在2000元以上的人数。      

19.编写程序将一个二维数组转置,转置功能用自定义函数实现。

20.用指针实现:将数组a中的最大值与第一个元素相交换。   

21. 将十元钱兑换成1元、5角、1角的硬币共计40枚,编程求有多少种兑换方法? 

22. 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80-分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。 

23. 编一程序求字符串的长度。(不能用strlen( )函数) 

24. 编一函数实现求解n!。 

25. 从健盘输入若干学生的成绩,输出最高成绩和最低成绩。

26. 编程实现将二进制数转换为十进制数。要求将二进制数存放于数组中。

27. 写一个判断素数的函数: int  prime(int n)  返回1为素数,返回0为非素数。

28. 从键盘输入20个员工的工资,并按从高到低的顺序输出。

29. 编程实现:反向输出输入的正整数。  

30. 编写函数:求1!+2!+3!+4!+…+n!。

31. 编程实现:输入year年份和month月份,求该月有多少天?

32.编程输入上网时间并计算上网费用,计算方法如下:    

基数30元       (上网时间<10小时)

费用=  每小时2.5元      (上网时间10~50小时)

                     每小时2元        (上网时间≥50小时)

同时为了鼓励多上网,每月收费最多不超过150元。

33. 编写程序:输出如下图型,行数由键盘输入决定。

   A

  BBB

CCCCC

DDDDDDD

34. 编一函数,由实参传来一个字符串,统计并输出此字符串中字母、数字、空格和其他字符的个数。

35. 输入50个学生的百分制成绩,统计并输出及格和不及格人数。(用指针实现)

36. 编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。

37. 编程输出以下图形,行数由键盘输入决定。

         *

        ***

       *****

      ******* 

38. 某公司的利润提成方案是:小于等于1万元的利润提成5%,小于等于2万元的利润提成6%,小于等于4万元的利润提成7%,4万元以上利润提成8%,总提成采用分段累计计算。编程实现:输入某人完成的利润,求其可获得的利润提成。

39. 用指针编写程序:有10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,处理部分用函数实现。

40. 编写程序统计一个字符串中大写和小写字母的个数。下载本文

显示全文
专题