C语言练习题

1. 以下选项中,合法的一组C语言数值常量是(     )

A)028  .5e-3  .0xf

B)12.  OXa23   4.5e0

C).177   4e1.5  Oabc

D)0x8A  10,000  3.e5

2. 设整型变量x为7,则以下各表达式的值分别是(   )。

(1)y=x%3        (2) y=(++x)/3       (3) y=x/3             (4) y=8-(--x)

3. 若已定义int x=5, y=9, z; 语句z=x>y; 运行后z的值为( )。

4. ( )为正确的变量名。

A. int      B. –k15        C. k_5         D. k.jeep

5. 语句x=5%4+(4/5); 运行后,整型变量x的值为( )。

6. 若有定义 int i=1, j=9; 则表达式(++j) * (i--)的值为( )。

A. 10      B. 9           C. 8           D. 0

8. 判定逻辑值为“真”的最准确叙述是( )。

A. 大于0的数      B. 非0的整数      C. 非0的数       D. 1

9. ( )为正确的字符常量。

A. 'M'        B. "\\"         C. "c"        D. "\24m"

10. C语言基本数据类型包括( )。

A. 整型、实型、逻辑型         B. 整型、实型、字符串型

C. 整型、字符型、逻辑型       D. 整型、字符型、实型

11. 若已定义int x,y,z; char a,b,c; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( )。

12. 下列输出语句的书写正确的是( )。

A. printf("This is C Program.");         B. print("This is C Program.");

C. printer("This is C Program.");        D. printf("This is C Program.")

13. C程序运行包括编辑、编译、连接、执行四个步骤,每个步骤执行后的文件分别是(   ),后缀名是(   ),(   )是二进制文件,(   )可以被计算机执行。

14. C语言有( )种注释符号。分别是(    ),有什么区别?

15. 有表达式:a += a -= a * a,如果a的初始值为9,则表达式执行后a的值为( )。

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

17. 以下程序运行后的输出结果是( )。

int main( )

{

int a=0, b=1, c=2;

if(c = a)      printf("%d\n", c);

else     printf("%d\n", b);

return 0;

}

18. 以下程序运行后的输出结果是( )。

int main( )

{

int x, a=0, b=1;

x=a++ && b++ ;   // x=a++  ||  b++ ;   // x= ++ a && ++ b ;  // x= ++ a || ++ b ;

printf("%d, %d\n", x, b);

return 0;

}

A. 0, 1      B. 1, 1       C. 0, 2     D. 1, 2

19. 以下程序运行后的输出结果是( )。

int main( )

{

int a=0, b=1, m;

m=a>b ? a:b;

printf(“%d\n”, m);

return 0;

}

A. 0      B. 1       C. 2     D. 编译有错

20. 如果有如下程序段,下面描述正确的是( )。

int i;     while(i=0)    i=i+1;

A. 循环执行一次               B. 循环是无限循环

C. 循环体语句一次也不执行     D. 循环体语句执行一次

21. 与while(x)等价的语句( )。

A. while(x==0)              B. while(x==1)

C. while(x!=0)              D. while(x!=1)

22. 下面有关for循环的正确描述是( )。

A. for循环只能用于循环次数已经确定的情况

B. for循环是先执行循环体语句,后判断表达式

C. 在for循环中,不能用break语句跳出循环体

D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

24. 下列数组定义方式不正确的语句是( )。

A. char  x[5];                      B. char  y[]={'h','e','l','l','o'};

C. int  x[6]={12,13,14,15};            D. int  y[];

25. 若有以下的定义:int  t[5][4];能正确引用t数组的表达式是( )。

A. t[2][4]     B. t[5][0]          C. t[0][0]           D. t[0,0]

27. 若有以下定义:int a[5]={ 1, 2, 3, 4, 5 },表达式a[a[3]]的值是( )。

A. 5         B. 4             C. 3         D. 2

2. 有以下程序段,运行后的输出结果是                    。

#include <stdio.h>

main(  )

{

int a=9;

while(a>6)

{

if(a%2 )    {  printf("%d,",  a--);   continue;  } //break

a--;

}

}

3. 有以下程序段,运行后的输出结果是                。

main(  )

{

int k=4, n=0;

do{

switch(k)

{

case 1: n+=1;

case 2: n+=2; break;

case 3: n+=3;

case 4: n+=4; break;

default: n+=5;

}

k--;

}while(k>0);

printf("%d", n);

}

5. 程序输出结果为:          。

main(  )

{

int b [3][3]={0,1,2,0,1,}, i, t=1;

for(i=0;i<3;i++)

t+=b[i][i];

printf("%d",t);

}

二、判断题

1. 一个C语言源程序可以包含两个或者两个以上main()函数。

2. 编写C语言程序时,每行只能写一条语句。

3. 变量必须先定义后使用。

4. int a=0, b=1, c=2; 表达式a<=c<=b值为1。

5. 选择结构中条件控制语句必须为逻辑表达式或者关系表达式。

6. do---while循环语句的循环体至少执行一次,是当型循环。

7. continue语句只结束本次循环,而不是终止整个循环的执行。

break语句的作用是什么?与continue的区别是什么?

8. 有定义char str[3][4];该二维数组共有4行3列。

9. 声明一个长度为10的一维整型数组a时,可以用这样的语句:int n=10, a[n];。

10. C程序是由若干个函数组成的。

五、程序设计题

1. 通过键盘输入一个小写字符,将其转换为大写字母,并输出。

2. 使用while语句求201+202+203+……+300。

1. 有公式如图,输入一个x值,输出对应的y值。

2. 编写程序,从键盘获取两个小数x, y,

输出较大值/较小者/和/差/乘积

3. 输出100~200之间不能被3整除的数

4. 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出,输出结果为:9,8,7,6,5,4,3,2,1,0。

5.将 数组a中下标值为偶数的元素从小到大排列,其它元素不变。

求斐波那契数列的前10项。

计算1/2  2/5   3/8   4/11   5/14   前10项分值的和。

C语言练习题的更多相关文章

  1. C程序设计语言练习题1-23

    练习1-23 编写一个删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不能嵌套. 代码如下: #include <stdio.h> // 包含标准库的信 ...

  2. C程序设计语言练习题1-10

    练习1-10 编写一个将输入复制到输出的程序,并将起重的制表符替换为\t,把回退符替换成\b,把反斜杠替换为\\.这样可以将制表符和回退符以可见的方式显示出来. 代码如下: #include < ...

  3. C语言练习题_邮票组合

    背景:        我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资.        现在,邮局有4种不同面值的邮票.在每个信封上最 ...

  4. C语言练习题_北理工的恶龙

    背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙.要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的 ...

  5. C程序设计语言练习题1-16

    练习1-16 修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能多地打印文本. 代码如下: #include <stdio.h> // 包含标准库的信息 ...

  6. C程序设计语言练习题1-22

    练习1-22 编写一个程序,把较长的输入行”折“成短一些的两行或多行,折行的位置在输入行的第n列之前的最后一个非空格之后.要保证程序能够智能地处理输入行很长以及在制定的列前没有空格或制表符时的情况. ...

  7. C程序设计语言练习题1-21

    练习1-21 编写程序entab,将空格串替换为最少数量的制表符和空格,但要保持单词之间的间隔不变.假设制表符终止的位置与练习1-20的detab程序的情况相同.当使用一个制表符或者一个空格都可以打到 ...

  8. C程序设计语言练习题1-20

    练习1-20 编写程序detab,将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止位的地方.假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位.n应该是变量还是符号 ...

  9. C程序设计语言练习题1-19

    练习1-19 编写函数reverse(s),将字符串s中的字符顺序颠倒过来.使用该函数编写一个程序,每次颠倒一个输入行中的字符顺序.代码如下: #include <stdio.h> // ...

随机推荐

  1. JsonFX 序列化反序列化

    /// <summary> /// Json 序列化工具类 /// </summary> public class SerializeJsonUtility { /// < ...

  2. World Wind Java开发之三 显示状态栏信息

    先来看下本篇博客索要达到的效果: 找到源代码下的gov.nasa.worldwind.util下的StatusBar.java文件,能够看到状态栏显示的信息主要包含视点高度以及相应空间点三维坐标以及是 ...

  3. iOS tableView下拉图片放大

    事实上这个效果,本质上就是在你tableView下拉 造成offset时候. 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ...

  4. 实现乐鑫esp8266的无线OTA升级,实现远程在线升级固件

    代码地址如下:http://www.demodashi.com/demo/12994.html 一.前言: 写了这么多的8266博文,一直以满意100%的心态去敲写代码固件烧录,以致很少出现 bug ...

  5. 神奇的CAReplicatorLayer

    代码地址如下:http://www.demodashi.com/demo/11702.html 文档描述: The CAReplicatorLayer class creates a specifie ...

  6. How to manually remove an infected file from your computer

    http://blog.csdn.net/pipisorry/article/details/41258577 How to manually remove an infected file from ...

  7. 写入文件,创建xunlei批量任务

    [php] <?php $arr = array(); $arr[] = 'http://s1.dwstatic.com/group1/M00/83/4A/834a040953745f52e8a ...

  8. redis清空部分key

    redis-cli keys "test:job:*" redis-cli keys "test:job:*" |xargs redis-cli del

  9. vue 父组件如何调用子组件的函数Methods

    答案就是使用ref即可. <countdown ref="countdown"></countdown> beforeDestroy () { // 切换页 ...

  10. 【HDU-5246】超级赛亚ACMer(贪心)

    之前用了个nlogn的算法超时了.仅仅能改成n的算法了 大题贪心思路就是 对每一个人的能力值从小到大进行排序,当前能力值为now,那么我们找到一个人的能力使得这个能力值 <= now.now + ...