文档库 最新最全的文档下载
当前位置:文档库 › c练习题(带答案)

c练习题(带答案)

c练习题(带答案)
c练习题(带答案)

一、选择题

1.C++语言属于( C )。

A)自然语言B)机器语言C)面向对象语言D)汇编语言2.下面选项中不属于面向对象程序设计特征的是(C) 。

A)继承性B)多态性C)相似性D)封装性

3.可用作C++语言用户标识符的一组标识符是( B )。

A)void define +WORD B)a3_b3 _123 YN

C)for -abc Case D)2a DO sizeof

4.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为

(A)。

A)0 B)4 C)8 D)6

5.下列情况中,哪一种情况不会调用拷贝构造函数( B )

A)用派生类的对象去初始化基类对象时

B)将类的一个对象赋值给该类的另一个对象时

C)函数的形参是类的对象,调用函数进行形参和实参结合时

D)函数的返回值是类的对象,函数执行返回调用者时

6.以下哪一关键字可用于重载函数的区分(C)

A)extern B)static C)const D)virtual

7.下列有关数组的叙述中,正确的是( B )

A)C++中数组的存储方式为列优先存储

B)数组名可以作为实参赋值给指针类型的形参

C)数组下标索引从1开始,至数组长度n结束

D)数组指针的语法形式为:类型名*数组名[下标表达式];

8.下列有关继承和派生的叙述中,正确的是( C)

A)派生类不能访问通过私有继承的基类的保护成员

B)多继承的虚基类不能够实例化

C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数

D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现

9.实现运行时多态的机制是( A )

A)虚函数B)重载函数C)静态函数D)模版函数

10.若有下面的函数调用:

fun(a+b, 3, max(n-1, b));

其中实参的个数是(A)

A)3 B)4 C)5 D)6

11.下列关于this指针的说法正确的是(B)

A)this指针存在于每个函数之中

B)在类的非静态函数中this指针指向调用该函数的对象

C)this指针是指向虚函数表的指针

D)this指针是指向类的函数成员的指针

12.在下列关于C++函数的叙述中,正确的是(C)

A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己13.下列运算符中,不能重载的是(C)

A)&& B)!= C). D)->

14.下面程序的输出结果是(B)

#include

using namespace std;

int i = 0;

int fun(int n)

{

static int a = 2;

a++;

return a+n;

}

void main()

{

int k = 5;

{

int i = 2;

k += fun(i);

}

k += fun(i);

cout << k;

}

A)13 B)14 C)15 D)16

15.下面的程序段的运行结果为(D)

char str[] = "job", *p = str;

cout << *(p+2) << endl;

A)98 B)无输出结果C)字符’b’的地址D)字符’b’

16.下面程序的输出结果是( C )

#include

using namespace std;

class A

{

public:

A (int i) { x = i; }

void dispa () { cout << x << “,”; }

private :

int x ;

};

class B : public A

{

public:

B(int i) : A(i+10) { x = i; }

void dispb() { dispa(); cout << x << endl; }

private :

int x ;

};

void main()

{

B b(2);

();

}

A)10,2 B)12,10 C)12,2 D)2,2

17.下面程序的输出结果是(C)

#include

using namespace std;

class Base

{

public:

Base(int i) { cout << i; }

~Base () { }

};

class Base1: virtual public Base

{

public:

Base1(int i, int j=0) : Base(j) { cout << i; }

~Base1() {}

};

class Base2: virtual public Base

{

public:

Base2(int i, int j=0) : Base(j) { cout << i; }

~Base2() {}

};

class Derived : public Base2, public Base1

{

public:

Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c),

Base2(d), Base(a) { cout << b; }

private:

Base2 mem2;

Base1 mem1;

};

void main() { Derived objD (1, 2, 3, 4); }

A)134122 B)123412 C)D)143212

18.下面程序的输出结果是(C)

#include

using namespace std;

class Base

{

public:

virtual void f() { cout << “f0+”; }

void g() { cout << “g0+”; }

};

class Derived : public Base

{

public:

void f() { cout << “f+”; }

void g() { cout << “g+”; }

};

void main() { Derived d; Base *p = &d; p->f(); p->g(); }

A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+

19.下面程序的输出结果是( C )

#include

using namespace std;

class Sample

{

friend long fun (Sample s)

{

if < 2) return 1;

return * fun(Sample);

}

public:

Sample (long a) { x = a; }

private:

long x;

};

void main()

{

int sum = 0;

for (int i=0; i<4; i++)

{

sum += fun(Sample(i));

}

cout << sum;

}A)12 B)16 C)10 D)34 20.以下程序的输出结果是:(D)

#include

using namespace std;

int fun(char *s)

{ char *p=s;

while (*p!='\0') p++;

return (p-s);

}

void main(){

cout<

}

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

21.有如下程序段:

int i=1;

while(1)

{

i++;

if (i==10) break;

if(i%2==0) cout<<’*’;

}

执行这个程序段输出字符*的个数是(C)

A. 10

B. 3

C. 4

22.下列关于虚基类的描述中,错误的是(C)

A. 使用虚基类可以消除由多继承产生的二义性

B. 构造派生类对象时,虚基类的构造函数只被调用一次

C. 声明class B:virtual public A 说明类B为虚基类

D. 建立派生类对象时,首先调用虚基类的构造函数

23.有下类定义

Class A {

Char *a;

Public:

A():a(0){}

A(char *aa) {new char[strlen(aa)+1] B. char[strlen(aa)+1]

C. char[strlen(aa)]

D. new char[sizeof(aa)-1]

24.假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,

它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(X)。

A)B)() C)x->GetValue() D)( )

25.假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外

定义,则函数头为(A)。

A)int AA::a( ) B)int AA:a()

C)AA::a() D)AA::int a()

26.有如下程序:

#include

using namespace std;

class Test{

public:

Test(){}

~Test(){cout<<'#';}

};

int main(){

Test temp[2], *pTemp[2];

return 0;

}

执行这个程序输出星号(#)的个数为(B)。

A)1 B)2 C)3 D)4

27.有如下程序:

#include

using namespace std;

class MyClass{

public:

MyClass(int i=0){cout<<1;}

MyClass(const MyClass&x){cout<<2;}

MyClass& operator=(const MyClass&x){cout<<3; return *this;} ~MyClass(){cout<<4;}

};

int main(){

MyClass obj1(1),obj2(2),obj3(obj1);

obj1=obj2;

return 0;

}运行时的输出结果是(A)。

A)1123444 B)C)121444 D)

28.有如下程序:

#include

using namespace std;

class point

{

public:

static int number;

public:

point() { number++;}

~point() {number--;}

};

int point::number=0;

void main()

{ point *ptr;

point A,B;

{

point *ptr_point=new point[3];

ptr=ptr_point;

}

point C;

delete[] ptr;

cout<

}

程序结果为(A)

A)3 B)4 C)6 D)7

29.友元运算符obj++被C++编译器解释为(D)。

A. operator++(obj)

B. operator++(obj,0)

B. ++( ) D. ++(0)

二、程序填空

1.用递归法求从1到n的立方和:

f(1)=1 (n=1)

f(n)=f(n-1)+n3(n>1)

#include

using namespace std;

int f(int);

int main(){

int n,s;

cout<<"input the number n:";

cin>>n;

s= f(n);

cout<<"The result is "<

return 0;

}

int f(int n){ 请将下列程序补充完整,使得输出结果为“Destructor Derived Destructor Base”。

#include

using namespace std;

class Base

{

public:

virtual ~Base (){ cout << “Destructor Base”<< endl; } };

class Derived : public Base

{

public:

~Derived(){ cout << “Destructor Derived” << endl; }

};

void main ()

{

Base *pBase = new Derived;

delete pBase ;

}

三、阅读程序,写出运行结果

1.

#include

#include

using namespace std;

class CD

{

char name[20];

int number;

public:

void Init(char* aa, int bb)

{

strcpy(name,aa);

number=bb;

}

char* Getname () {return name;}

int Getnumber () {return number;}

void Output() {cout<< name <<' '<< number <

CD dx;

void main()

{

CD dy;

("歌唱祖国",30);

("义勇军进行曲",3* ()+5);

();

();

}

歌唱祖国30

义勇军进行曲95

2.#include

using namespace std;

int f(int a){

return ++a;

}

int g(int& a){

return ++a;

}

void main(){

int m=0,n=0;

m+=f(g(m));

n+=f(f(n));

cout<<"m="<

cout<<"n="<

}

3. #include

using namespace std;

class Demo

{

public:

Demo(){cout<<"default constructor\n";}

Demo(const Demo &x){cout<<"copy constructor\n";}

};

Demo userCode(Demo b){Demo c(b);return c;}

void main()

{

Demo a,d;

cout<<"calling userCode()\n";

d = userCode(a);

}

执行上面的程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是多少次?

五、编写程序

1、编写函数计算y=1!+2!+3!...n! ,n作为参数传递,在主函数调用该函数并输出结果。

2、编写函数找出二维数组(5*4)中元素的最大值与最小值,并返回其最大值与最小值。测试结果。

3、编写一个三角形类,有计算面积,显示面积的功能等,并测试。要求有参数的构造函数及复制构造函数

^^下面关于类概念的描述中,( D )是错误的。

A)类是抽象数据类型的实现B)类是具有共同行为的若干对象的统一描述体

C)类是创建对象的样板D)类就是C语言中的结构体类型

^^D

^^面向对象程序设计思想的主要特征中不包括( D )。

A)封装性B)多态性C)继承性D)功能分解,逐步求精

^^D

~~01|11|1|1

^^在C++中,函数原型不能标识()。

A)函数的返回类型B)函数参数的个数C)函数参数类型D)函数的功能

^^D

~~01|11|1|1

^^有关析构函数的说法不正确的是( )。

A) 析构函数有且仅有一个B) 析构函数和构造函数一样可以有形参

C) 析构函数的功能是用来释放一个对象D) 析构函数无任何函数类型

^^B

~~01|11|2|1

^^已知X类.则当程序执行到语句,X array[3];时,调用了(D )次构造函数。

A)0 B)1 C)2 D)3

^^D

~~01|13|1|1

^^类定义的内容允许被其他对象无限制地存取是( C )。

A)private 部分B)protected 部分C)public 部分D)以上都不对

^^C

~~01|01|2|1

^^关于new运算符的下列描述中,( D )是错误的.。

A) 它可以用来动态创建对象和对象数组

B) 使用它创建对象或对象数组,可以使用运算符DELETE删除

C) 使用它创建对象时要调用构造函数

D) 使用它调用对象数组时不许指定初始值

^^D

~~01|01|2|1

^^对于下面程序段,表达式正确的是( B )。

class Base {public:int b;};

class Base1:public base{ };

class Base2:public base{ };

class Derived:public base1,public base2{public:int fun ( );};

Derived d;

A)d. Base1::b B)d. Base ::b C)D)d. Base :: fun( )

^^B

~~01|12|1|1

^^可以用的形式访问派生类对象p 的基类成员a其中a是( D )。

A)私有继承的公有成员B)公有继承的私有成员

C)公有继承的保护成员D)公有继承的公有成员

^^D

^^下列关于C++类的描述中错误的是(C )。

A)类与类之间可以通过一些手段进行通信和联络

B)类用于描述事物的属性和对事物的操作

C)类与类之间必须是平等的关系,

D)类与类之间可以通过封装而具有明确的独立性

^^C

~~01|12|1|1

^^下列描述中哪个是正确的( B )。

A)私有派生的子类无法访问父类的成员

B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的

C)私有派生类不能作为基类派生子类

D)私有派生类的所有子孙类将无法继续继承该类的成员

^^B

~~01|11|1|1

^^下列关于构造函数说法不正确的是()。

A)构造函数必须与类同名B)构造函数可以省略不写

C)构造函数必须有返回值D)在构造函数中可以对类中的成员进行

初始化

^^C

~~01|13|1|1

^^如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是( D )。

A)一元运算符B)二元运算符

C)选项A)和选项B)都可能D)重载错误

^^D

~~01|14|1|1

^^在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是(D )。

A)一元成员运算符B)二元成员运算符

C)一元友元运算符D)选项B)和选项C)都可能^^D

~~01|12|1|1

^^一个类的友元函数能够访问该类的( D )。

A)私有成员B)保护成员C)公有成员D)所有成员

^^D

^^下列关于类定义的说法中,正确的是( A )。

A)类定义中包括数据成员和函数成员的声明

B)类成员的缺省访问权限是保护的

C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义^^ A

~~01|14|1|1

^^通过运算符重载,可以改变运算符原有的( A )。

A)操作数类型B)操作数个数C)优先级D)结合性^^A

~~01|14|1|1

^^在C++语言中,数据封装要解决的问题是( D )。

A) 数据的规范化B)便于数据转换C)避免数据丢失

D)防止不同模块之间数据的非法访问

^^D

~~01|13|1|1

^^对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( D )。

A)公有类型B)私有类型C)保护类型D)友元类型

^^D

~~01|11|1|1

^^在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( C )。

A)友元函数B)虚函数C)构造函数D) 析构函数

^^C

~~01|11|1|1

^^类的析构函数的作用是( D )。

A)一般成员函数的初始化B)类的初始化

C)对象的初始化D)删除类创建的对象

^^D

~~01|13|1|1

^^下列说法正确的是( B )。

A)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方

B) 内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方

C)类的内联函数必须在类体内定义

D)类的内联函数必须在类体外通过加关键字inline定义

^^B

~~01|12|1|1

^^下列对派生类的描述中,错误的是( D )。

A)一个派生类可以作为另一个派生类的基类

B) 派生类至少有一个基类

C)派生类的成员除了自己的成员外,还包含了它的基类的成员

D)派生类中继承的基类成员的访问权限到派生类保持不变

^^D

~~01|12|1|1

^^运算符的重载是对已有的运算符赋予多重含义,因此(A )。

A)可以对基本类型(如int 类型)的数据,重新定义“+”运算符的含义

B) 可以改变一个已有运算符的优先级和操作数个数

C)只能重载C++中已经有的运算符,不能定义新运算符

D)C++中已经有的所有运算符都可以重载

^^A

~~01|13|1|1

^^如果类A被说明成类B的友元,则( D )。

A)类A 的成员即是类B的成员B) 类B的成员即是类A的成员

C)类A的成员函数不得访问类B的成员D)类B不一定是类A的友元

^^D

~~01|13|1|1

^^不能作为重载函数的调用的依据是( D )。

A)参数的个数B) 参数的类型C)函数的类型D)函数的名称

^^D

~~01|13|1|1

^^在C++语言的面向对象设计框架中,类是程序的基本组成单元。^^类

~~01|13|1|1

^^继承的方式的公有继承、私有继承和保护继承三种。

^^保护继承

~~01|13|1|1

·在用class定义一个类时,数据成员函数的默认访问权限是私有的)。

^^私有的

~~01|13|1|1

^^类的构造函数是在定义对象时调用的。

^^定义对象

~~01|13|1|1

^^类模板的使用实际上是将类模板实例化成一个具体的(对象)。^^对象

~~01|13|1|1

^^如果类B继承了类A,则称类A为类B的基类,类B称为类A 的(派生类)。

^^派生类

~~01|13|1|1

如果要把返回值为void的函数A声明为B类的友元数,则应在类B的定义中加入语句是(12 )。

~~02|10|1|1

^^有如下定义:

class MA{

int value;

public:

MA(int n=0){value=n;};

MA *ta,tb;

其中MA类的对象名标识符是( tb) 。

^^tb

~~02|12|1|1

^^用来派生新类的称为( 基类),而派生出的新类称为它的子类或派生类。

^^基类

~~02|12|1|1

^^面向对象的程序设计的主要特征是继承性、封装性和多态性。

^^封装性

~~02|10|1|1

^^向对象的模型中,最基本的概念是对象和(类)。

^^类

~~03|14|1|1

^^通过使用new和delete两个运算符进行的分配为静态存储分配。()

^^F

~~03|14|1|1

^^重载的运算符保持其原有的操作符个数、优先级和结合性不变。()^^T

~~03|10|1|1

^^在面向对象方法中,类之间共享属性和操作的机制称为多态性。

()

^^F

~~03|12|1|1

^^可以用的形式访问派生类对象P的基类成员a,其中a是公有继承的公有成员。()

^^T

^^C++语言相对于C语言的最根本的变化是引进了类和对象的概念。()

^^T

~~03|10|1|1

^^类的析构函数的作用是删除类创建的对象。()

^^T

~~02|13|1|2

^^动态分配内存空间操作符”new”和( )使用时必须成对出现。

^^delete

~~02|12|1|2

^^用以说明类中保护成员的关键字是( )。

^^protected

~~02|11|1|2

^^对于任意一个类,析构函数的个数最多为( )个。

^^1

~~02|08|1|2

^^若有以下定义语句:

Struct data

{

int i ;char;double f ;

}b;

则结构体变量占用的内存字节数是( )。

^^*r*r

~~03|02|1|2

^^分号是C++语句的必要组成部分。( )

^^T

~~03|12|2|2

^^公有派生时,基类中所有成员在公有派生类中保持各个成员的访问权限。()^^T

~~04|12|2|2

^^下列程序中横线处正确的语句应该是。

#include<>

using namespace std;

class Base

{

public;

void fun( )

{cout< < “Base : : fun” < < endl;}

};

class Derived : public Base

{

public:

void fun( )

{

_________计3个函数分别完成复数的加法、减法运算。编写主函数验证复数的运算是否正确。

^^#include <>

struct compl{

float real;

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言程序设计试卷含答案

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。 二、阅读程序题文字答题卡:(每空2分,共24分) 三、完善程序填空题文字答题卡:(每空2分,共26分) 一、单项选择题(每空1分,共50分) 请将正确答案按【】中的序号写入答题卡,否则不得分。 1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。 A)age,struct,s1 B)2A,b_3,main C)ELSE,a[2],m123 D)_abc,INT,abcd 3.判断char型变量ch是否为数字字符的正确表达式为【】。 A)0<=ch<=9 B)'0'<=ch<='9' C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9') 4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。 A)putchar('A'+1);B)putchar('b'-32); C)putchar(98-32);D)putchar(B); 5.空字符串的长度是【】。 A)0B)1 C)2 D)3 6.整型变量a定义后赋初值的结果是【】。 int a=2.8*6; A)12 B)16C)17 D)18 7.若有以下说明语句,则该语句【】。 char a='\077'; A)使a的值包含1个字符B)使a 的值包含4个字符 C)使a的值包含3个字符D)说明不合法 8.下面的程序结果为:【】。 main() { int x=023; printf("%d\n",--x); } A)17 B)18C)23 D)24 9.源程序执行后,屏幕上显示【】。 main() { int a; float b; a=4; b=9.5; printf("a=%d,b=%4.2f\n",a,b); } A)a=%d,b=%f\n B)a=%d,b=%f C)a=4,b=9.50 D)a=4,b=9.5 10.设int x=10;x+=x%=(-6)+4;则x= 【】。 A)0B)16 C)18 D)10 11.C语言的下列运算符中,运算对象必须是整型数据的是【】。

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计试卷及答案

C 语言程序设计 笔试试题 题号 一 二 三 四 五 六 笔试(70%) 综 合 (30%) 总分 分数 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案 1. 有以下程序 main() {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\n ”,b); }则程序输出( A )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 A) 定义了基类型为int 的三个指针变量 B) 定义了一个名为 *pt 、具有三个元素的整型数值 号 学 名 姓 注意行为规范 遵守考试纪律

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具 有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\n“,week); A) 4 B) 5 C) ee D) 0 10. 以下对C语言函数的描述中,不正确的是( B )。 A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义 C) 函数可以没有返回值D) 程序由函数组成 11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。 A) *p B) *x C) *(p+1) D) x[5]

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

c语言试卷及答案1

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言模拟试卷及答案详解

2012―2013 学年第一学期 《C 语言程序设计》模拟试卷(B) 一、单项选择题(每题1分,共30分) 1.C 语言程序总是从______开始执行。 A) 第一条语句 B) 第一个函数 C) 主函数 D) 子程序 2.以下选项中正确的C 语言标识符是______。 A) a+b B) 3Dmax C) _25 D) %d 3.以下选项中正确表示字符型常量的是______。 A) '\t' B) "a" C) 'abc' D) '279' 4.以下选项中属于C 语言基本数据类型的是______。 A) 逻辑型 B) 双精度型 C) 复数型 D) 集合型 5.已知:int a=8,b=5,c;,则执行语句c=a%b+0.3;后,c 的值是______。 A) 1 B) 1.3 C) 3 D) 3.3 6.设在程序中的a ,b ,c 均被定义为整型并且已赋予大于1的值,能正确表示代数式abc 1的表达式 是______。 A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 7.已知字符'A'的ASCII 码值为十进制数65,则执行语句printf("%c",'A'+2);后,输出结果是______。 A) A B) C C) 65 D) 67 8.已知:int i=1;,则执行语句printf("%d",i++);后,输出结果是______。 A) 1 B) 2 C) -1 D) -2 9.以下选项中,和语句x*=y+2;等价的是______。 A) x=x*y+2; B) y=x*(y+2); C) x=y+2*x; D) x=x*(y+2); 10.以下选项中能正确判断字符变量c 不是大写字母的表达式是______。 A) c<'A' && c>'Z' B) !(c<'A' && c>'Z') C) c>='A' || c<='Z' D) !(c>='A' && c<='Z') 11.已知:float a=7.0,b=2.5;,则表达式(int)a/(int)b 的值是______。 A) 2 B) 2.8 C) 3 D) 3.5 12.已知:int a,b,c;,若要给变量a 、b 、c 输入数据,以下正确的输入语句是______。 A) scanf ("%d,%d,%d",a,b,c); B) scanf ("%d,%d,%d",&a;&b;&c); C) scanf ("%d,%d,%d",&a&b&c); D) scanf ("%d,%d,%d",&a,&b,&c); 13.已知:int a=1,b=2;,则执行语句printf("%d",a>b?a:b);后,输出结果是______。 A) 0 B) 1 C) 2 D) 以上都不正确 14.以下选项中叙述正确的是______。 A) 在switch 语句中,不一定使用break 语句 B) break 语句必须与switch 语句中的case 配合使用 C) 在switch 语句中必须使用default D) break 语句只能用于switch 语句中 15.执行以下程序后,输出结果是______。 #include void main()

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分) 1、sizeof(float)是() A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为()。 A. 100 765.12 B. i=100,f=765.12 C. 100<回车> 765.12 D. x=100 y=765.12 3、#include void main() { int a=3,b=2,c=1; int x=10,y=20; if(a void main() { int num=0; while(num<=2){ num++; printf("%d ",num); } } 输出结果是()。 A. 1 2 3 B. 0 1 2 C. 2 3 D. 1 2 8、下面的C语言代码段的输出结果是()。 int j; for(j=1; j<10; j+=2) printf("%d ",j); A. 1 2 3 4 5 6 7 8 9 B. 2 4 6 8 C. 1 3 5 7 9 D. 1 2 4 6 8 9、在C语言中,表达式:10!=9 的值是()。 A. true B. 非零值 C. 0 D. 1 10、分析下面的C代码段:

相关文档