一、C语言概述练习题
选择
1. 一个C程序的执行是从。
A> 本程序的main函数开始,到main函数结束
c语言中的逗号表达式
B> 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C> 本程序文件的第一个函数开始,到本程序main函数结束
D> 本程序的main函数开始,到本程序文件的最后一个函数结束
2. 以下叙述不正确的是。
A> 一个C源程序必须包含一个main函数 B>一个C源程序可由一个或多个函数组成
C> C程序的基本组成单位是函数D> 在C程序中,注释说明只能位于一条语句的后面
3. 以下叙述正确的是。
A> 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B> 在C程序中,main函数必须位于程序的最前面
C> C语言本身没有输入输出语句D> C程序的每行中只能写一条语句
4. 一个C语言程序是由。
A>一个主程序和若干个子程序组成B> 函数组成C> 若干过程组成D> 若干子程序组成
5. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。
A> C语言程序仅可以编译执行                B> C语言程序仅可以解释执行
C> C语言程序既可以编译执行又可以解释执行            D> 以上说法都不对
6. 以下叙述中错误的是。
A> C语言的可执行程序是由一系列机器指令构成的        B>用C语言编写的源程序不能直接在计算机上运行
C>通过编译得到的二进制目标程序需要连接才可以运行
D>在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
7. 以下叙述正确的是。
A> C语言程序是由过程和函数组成的B> C语言函数可以嵌套调用,例如:fun<fun<x>>
C> C语言函数不可以单独编译D> C语言中除了main函数,其他函数不可作为单独文件形式存在
二、数据类型、运算符与表达式
选择.
1. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为
    x=<i=4,j=16,k=32>A> 4    B> 16    C> 32    D> 52
2. 下列四组选项中,均不是C语言关键字的选项是。
A>defineIFtypeB>getc  char  printfC>includecasescanfD>whilegopow
3. 下列四组选项中,均是不合法的用户标识符的选项是。
A> W  P_0  doB> b-a  goto intC> float  la0  _AD> -123  abcTEMP
4. 下列四组选项中,均是合法转义字符的选项是。
A>\"‘\\’‘\n’B>‘\’‘\017’‘\"’
C>‘\018’‘\f’‘xab’D>‘\\0’‘\101’‘xlf’
5. 下面不正确的字符常量是。
A> "c"B> ‘\\’’        C> ‘’        D> ‘K’
6. 以下叙述不正确的是。
A> 在C程序中,逗号运算符的优先级最低    B> 在C程序中,MAX和max是两个不同的变量
C> 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变
D> 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
7. 以下叙述正确的是。
A> 在C程序中,每行只能写一条语句
B> 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C> 在C程序中,%是只能用于整数运算的运算符〔字符型也可以
D> 在C程序中,无论是整数还是实数,都能被准确无误地表示
8. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。
A> D    B> 68            C> 不确定的值          D> C
9. sizeof<float>是。
A> 一个双精度型表达式 B> 一个整型表达式C> 一种函数表达式D> 一个不合法的表达式
10.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为。
A> 0~255        B> 0~32767        C> 0~65535        D> 0~2147483647
11.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为。
A> float          B> char          C> int          D> double
12.设以下变量均为int类型,则值不等于7的表达式是。
A> <x=y=6,x+y,x+1>  B> <x=y=6,x+y,y+1>    C> <x=6,x+1,y=6,x+y>D> <y=6,y+1,x=y,x+1>
13.下列变量定义中合法的是
A> short _a=015; B> double b=e2.5;C> long do=0xfdaL; D> float 2_and=1e-3;
14.有以下程序
  #include <stdio.h>
  main<>
{    int x=011;
        printf<"%d\n",++x>;
  }程序运行后的输出结果是。
  A>12        B>11        C>10          D>9
填空
1. 若有以下定义,int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是[1]。-16
2.  在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为[2]。-32768~32767
3. 若s是int型变量,且s=6,则下面表达式s%2+<s+1>%2的值为[3]。1
4.  若a是int型变量,则下面表达式<a=4*5,a*2>,a+6的值为[4]。26
5. 若x和a均是int型变量,则计算表达式〔1后的x值为[5],计算表达式〔2后的x 值为[6]。412
    <1> x=<a=4,6*2><2> x=a=4,6*2
6.  若a是int型变量,则计算下面表达式a=25/3%3后a的值为[7]。2
7. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为[8],n的值为[9]。10  6
x+=n++  //若改为x+=++n  则计算后X为,n为11  6
8.  若有定义:char c=‘\010’;则变量c中包含的字符个数为[10]。1
9. 若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式<x+y>%2+<int>a/<int>b的值为[11]。1
10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为[12]。f
三、简单的C程序设计
选择
1. putchar函数可以向终端输出一个。
A> 整型变量表达式 B> 实型变量值C> 字符串 D> 字符或字符型变量值
2. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式B;如果字符串长度小于5,则输出按方式C
A> 从左起输出该字符串,右补空格    B> 按原字符长从左向右全部输出
C> 右对齐输出该字符串,左补空格    D> 输出错误信息
3. 阅读以下程序,当输入数据的形式为:25,13,10<CR>〔注:<CR>表示回车,则正确的输出结果为。
main<>
    {    int x,y,z;
        scanf<"%d%d%d",&x,&y,&z>;
        printf<"x+y+z=%d\n",x+y+z>;
    }A> x+y+z=48      B> x+y+z=35      C> x+z=35        D> 不确定值
4. 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。
main<>
    {    char ch1,ch2,ch3;
        输入语句
        printf<"%c%%c",ch1,ch2,ch3>;
    } 输出形式:A B C输入形式:A B C
A> scanf<"%c%c%c",&ch1,&ch2,&ch3>;B> scanf<"%c,%c,%c",&ch1,&ch2,&ch3>;
C> scanf<"%c %c %c",&ch1,&ch2,&ch3>;D> scanf<"%c%c",&ch1,&ch2,&ch3>;
5. 已知ch是字符型变量,下面不正确的赋值语句是。
A> ch=‘a+b’;    B> ch=‘\0’;    C> ch=‘7’+‘9’;    D> ch=5+9;
6. 以下关于结构化程序设计的叙述中正确的是。
    A>一个结构化程序必须同时由顺序、分支、循环三种结构组成
    B>结构化程序使用goto语句会很便捷
C>在C语言中,程序的模块化是利用函数实现的
D>由三种基本结构构成的程序只能解决小规模的问题
7. 有以下程序
#include <stdio.h>
main<>
{int a1,a2;  char c1,c2;
scanf<"%d%c%d%c",&a1,&c1,&a2,&c2>;
printf<"%d,%c,%d,%c",a1,c1,a2,c2>;
}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是〔以下_代表空格,<CR>代表回车
A>12a34b<CR>  B>12_a_34_b<CR>  C>12,a,34,b<CR>    D>12_a34_b<CR>
填空
1.  以下的输出结果是[1]。c:dec=120,oct=170,hex=78,ASCII=x
main<>
{    char c=‘x’;
    printf<"c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c>;
}
2.以下的输出结果是[2]。
main<>
{    int x=1,y=2;
printf<"x=%d y=%d * sum * =%d\n",x,y,x+y>;
printf<"10 Squared is : %d\n",10*10>;}
x=1 y=2 * sum * =3

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。