《C语言程序设计》试题与答案
1. C语言是一种()。
A. 低级语言
B. 高级语言
C. 机器语言
D.汇编语言
2.以下描述中错误的是()。
A. 不同的计算机可以理解的机器语言也不同
B. 机器语言和汇编语言都和具体的硬件平台相关,因此统称为低级语言
C. 高级语言编写的程序较为简洁,可读性较好
D.编译方式执行速度较快,且每次修改源程序后不必重新进行编译处理
3. 以下描述中正确的是()。
A. C语言编程的一个显著特点是以计算机工作方式来思考和组织程序代码
B.面向过程的程序设计方法以提高执行效率、少占内存作为目标
C.面向过程的程序设计方法一般采用结构化和模块化设计思想
D. 面向对象的程序设计方法提高了软件开发的可重用性,但增加
了程序开发的复杂性
4.以下描述中错误的是()。
A. 编写C程序的过程通常称为编辑,结果将得到 .c源文件
B.  C源程序经过编译,将生成本机目标代码文件,扩展名为obj
C. 链接过程通常是将目标代码文件和程序中使用到的其他代码
连接在一起
D. 运行结果不对,通常是由于语法错误引起的
5.语句“printf("Welcome\nto\nC!");”将输出()。
A. 1行
B. 2行
C. 3行
D. 4行
6.有以下程序
#include "stdio.h"
void main( )
{  float a=b=2, result;
result=a/b;
printf("result=%f\n",result);  }
正确的说法是()。
A. 因为变量声明问题导致编译出错
B. 因为result=a/b;语句有误导致编译出错
C. 输出结果为result=2.000000
D.输出结果为result=1.000000
#include"stdio.h"
int multi(int a,int b)
{  return a*b; }
void main()
{  int x,y,t;
printf("Pleaseinput two integers (x and y): ");
scanf("%d%d",&x,&y);
t=multi(x,y);
printf("%d\n",t); }
A. 3
B. 4
C. 7
D. 12
8.以下程序的运行结果是()。
#include "stdio.h"
韩国8人女子组合#define RATE 0.05
void main( )
{  double salary,tax;
salary=5000.00;
tax=(salary-3000)*RATE;
printf("Theresult is: %.2f\n",salary-tax);  }
A. 5000.00
B. 100.00
C.4900.00
D. 3000.00
9.以下程序的运行结果为()。
#include"stdio.h"
voidmain()
{  printf("%d\n",sizeof(char)+sizeof(int)+sizeof(double));}
A. 148
云襄传B. 1,4,8
C.144
D. 13
10.有以下程序
#include"stdio.h"
voidmain()
{  char ch;
printf("输入一个大写字母:");
scanf("%c",&ch);
digit=ch-'A';
printf("%c,%d\n",digit+'a',digit); }
A. 编译时出错乱世佳人最后一名主演奥利维娅德哈维兰去世
B. b,B
C.b,1
D. B,1
二、自测练习
1.已定义: int k,a,b;unsigned long w=5;double x=1.42, 不正确的表达式是(  )。
A.x%(-3)
B.w+= -2
顺丰速运快递单号C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
2.单精度变量x=
3.0,y=
4.0,下列表达式中的y的值为9.0的是(  )。
A.y/=x*27/4
B. y+=x+2.0
C. y-=x+8.0
D. y*=x-3.0
3.已定义intnum=sum=7,  (sum=num++, sum++, ++num)表达式的结果是(  )。
A.7
谢娜最新孕照曝光B.8
C.9
D.10
4.若有定义:int a=7; float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是(  )。
A.2.500000 B.4.50000  C.3.500000 D.0.00000
5.若x、i、j和k都是int型变量,则执行下面表达式x=(i=4,j=16,k=32)后x的值为(  )。
A.4  B.16 C.32 D.52
6. 设有定义:int x=2;,以下表达式中,值不为6的是( )。
A.x*=x+1  B.x++,2*x  C.x*=(1+x)
D.2*x,x+=2
7. 若变量a、i已正确定义,且i已正确赋值,合法的语句是(  )。
A. a==1
B. ++i;
C. a=a++=5;
D. a=int(i) ;
8. 执行下面程序段的输出结果是(  )。
intx=023,y=5,z=2+(y+=y++,x+8,++x); printf("%d,%d\n",x,z);
A.18,13  B.19,14 C.22,21 D.20,22
9. 已知i、j、k为int型变量,若从键盘输入:1,2,3<CR>,使i 的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是(  )。
A.scanf("%2d %2d %2d",&i,&j,&k);  B.scanf("%d %d%d",&i,& j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);  D.scanf("i=%d,j=%d,k =%d",&i,&j,&k);
10. 执行下面程序段的输出结果为(  )。
intx=13,y=5; printf("%d",x%=(y/=2));梁博的背景
A.3  B.2 C.1 D.0