文档库 最新最全的文档下载
当前位置:文档库 › 2C语言中基本的数据类型包括

2C语言中基本的数据类型包括

2C语言中基本的数据类型包括
2C语言中基本的数据类型包括

1、外部变量对程序中的任一函数而言,它们是( )A存在的; B可直接存取的; C不可见的; D

不可直接存取的

2、下列说法中错误的是 ()

A变量的定义可以放在所有函数之外;B变量的定义可以放在某个复合语句的开头;C变量的定义可以

放在函数的任何位置;D变量的定义可以不放在本编译单位中,而放在其它编译单位中

3、FILE *p的作用是定义了一个文件型指针(或指向文件的指针),其中的FILE结构是在( )头文件中

声明的A math.h; Bctype.h; Cstdlib.h; Dstdio.h

4、已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)的值是() A 1;B语法错;C“假”

5、下面能正确进行字符串赋值操作的是( ) A

char s[5]={"ABCDE"};; Bchar s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};;Cchar

*s;s="ABCDE";; Dchar *s;char a; scanf("%s",&s);

6、下列各数据类型不属于构造类型的是( ) A枚举型; B共用型; C结构型; D数组型;

7、下列对C语言字符数组的描述中错误的是A 字符数组可以存放字符串; B字符数组中的字符串

可以整体输入、输出; C 不可以用关系运算符对字符数组中的字符串进行比较; D

可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;

8、从作用域的角度来分,C语言的变量可以分成( ) A自动变量和寄存器变量; B局部变量和全局变

量; C 自动变量和外部变量; D静态变量和动态变量

9、正确的表达关系式a大于等于b平方或不等于c的C语言是

A(a>=b**2)||(a<>c); B(a>=b*b)&&(a!=c); C(a>=b*b)OR(a!=c); D(a>=b*b)AND(a!=c)

10、下面C语言程序段的功能是()

file *fp;

fp=fopen("test.dat","wb");

A以读方式打开文本文件test.dat;B以写方式打开文本文件test.dat C以读方式打开二进制文件test.dat; D 以写方式打开二进制文件test.dat

10、设有数组定义: char array[]="China"; 则数组 array所占的空间为( )

A4个字节; B5个字节; C6个字节; D7个字节

11 在C语言中,如果下面的变量都是int类型,则输出的结果是()

sum=pa=5;pa=sum++,pa++,++pa;

printf("%d\n",pa);

11、A 7; B 6; C 5; D 4

12、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是( )

Ac=b=a;(a=c) B || (b=c); C (a=c)&&(b=c) ; D a=c=b;

13、sizeof(float)是( ) A一个双精度型表达式;B一个整型表达式;

B一种函数调用; C一个不合法的表达式

14 一个C语言程序是由( ) A一个主程序和若干子程序组成; B函数组成;

C若干过程组成; D若干子程序组成

设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是 A把x和y按从小到大排列;

B 把x和y按从大到小排列;

C 交换x和y中的值;

D 无确定结果

15 若t为double类型,表达式t=1,t+5,t++的值是( ) A 2.0; B 6.0; C 1.0; D 1

16 在C语言程序中,main()函数最多有( ) A 0; B 1; C 2; D 不限

17 C语言提供的合法的关键字是()A swicth; B cher; C Case D default

18 Turbo C语言环境中,无符号整型(unsigned int)数据类型的取值范围( )

A -32768至32767;

B 0至32767;

C 0至65535;

D 0至65536;

19 算法的表示方法有()

A自然语言,传统流程图,N-S流程图,伪代码,计算机语言; B高级语言,汇编语言,机器语言;

C C语言,QBASIC语言,InterDev; D图形图像法,描述法,编程法

20 C语言中基本的数据类型包括( ) A整型,实型,字符型和逻辑型; B整型,

实型,字符型和数组型; C整型,实型,字符型和枚举型; D整型,实型,字符型和指针型

21在C语言中,提供的合法保留字是()A swicth ; B cher; C Case; D default 22 一个C程序总是从一个C程序总是从 A主过程开始执行; B主函数开始执行;

C子程序开始执行; D主程序开始执行

23 在C语言中,可以用作用户标识符的一组标识符是( )A void、define、WORD;

B a3_b3、_123、IF;

C For、-abc、case;

D 2a、DO、sizeof

24 下面程序运行后,输出的结果是()

main()

{ char *s="abcde";

printf("%ld\n",s+2);

}

A Cde;

B 字符c的ASCLL码值;

C 字符c的地址; D出错

25 语句for(表达式1; ;表达式3)等价于( ) A for(表达式1;0;表达式3); B for(表达式1;表达式1;表达式3); C for(表达式1;1;表达式3); D for(表达式1;表达式3;表达式3)

试卷2

1、若有说明语句:char c='\72';则变量c()

A包含1个字符; B包含2个字符; C包含3个字符; D说明不合法,c的值不确定

2、设有定义:int (*ptr)();,则下面叙述中正确的是

A:ptr是指向一维数组的指针变量; Bptr是指向int型数据的指针变量;

Cptr是指向函数的指针,该函数返回一个int型数据; Dptr是一个函数名,该函数的返回值是

指向int型数据的指针

3、算法的表示方法有()

A自然语言,传统流程图,N-S流程图,伪代码,计算机语言; B高级语言,汇编语言,机器语言;CC语言,QBASIC语言,InterDev; D图形图像法,描述法,编程法

4、C语言程序的三种基本结构是()

A顺序结构、选择结构、循环结构; B递归结构、循环结构、转移结构;

C嵌套结构、递归结构、循环结构; D循环结构、转移结构、顺序结构

5、以下描述述中正确的是

A scanf("%f",3.5);; Bscanf("a=%d ,b=%d");; Cscanf("%4.2f",&d); Dscanf("%f",&f);

A1; Bfalse; C非0整型值; D整

型值0

6、C语言程序中有说明语句 char *pt[4];则标识符pt的含义是() A一个指向长度为4的一维数组的指针变量; B指向字符型变量的指针数组;

C1个指向4的字符型变量的指针变量; D指向函数的指针变量

7、在C语言中能中止循环的语句是quit;break;default;continue

8、设有如下变量定义:

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则下列表达式中符合C语言语法的是

Aa=a-=(b=4)*(a=3); Bx%3; Ca=a*3=2; Dy/(--5)

9、在C语言中,可以用作用户标识符的一组标识符是 A

void、define、WORD; B a3_b3、_123、IF; CFor、-abc、case; D2a、DO、sizeof

10、下面的for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A是无限循环; B循环次数不定; C执行4次; D执行3次

11、C语言提供的合法的数据类型关键字是()

A Double;

B short;

C integer;

D Chara=c=b;

12、当c的值不为0时,下面选项中能正确将c的值赋给变量a、b的是

A c=b=a;; B(a=c)||(b=c); C C(a=c)&&(b=c); Da=c=b;

13、以下运算符中优先级最低的是()

A&& ; B&; C||; D|

14、C语言用()表示逻辑“真”值。

A True; B1; C非0整数值; D整数0

15、若x和y都是int型变量,且x=100,y=200,则执行printf("%d",x,y);语句后,输出的结果是

A200; B100; C100 200; D输出格式符不够,输出不确定的值16、设有如下的定义 ( )

int x[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int (*pt)[4]=x;

能与数组元素x[2][3]相等的表达式是:

A*(*(pt+2)+3); B*(pt+2)+3; C*(pt+2+3) D(*pt+2)+3

17、表示关系X < =Y < =Z的C语言表达式为()

A(X < =Y)&&(Y < =Z); B(X < =Y)AND(Y < =Z); C(X < =Y < =Z); D(X < =Y)&(Y < =Z)

18、函数printf("\abcd\b\102\103")的输出结果是

A bc\101\103;

B abcd\102\103;

C abc\102\103;

D bcbc

19、下面说法正确的是

A程序的执行总是从第一行开始;B程序的执行总是从第一个函数开始执行;C程序的执行可以开始于任何一个位置;D程序的执行总是从main()函数开始执行

20、在C语言中,如果下面的变量都是int类型,则输出的结果是()

sum=pa=5;pa=sum++,pa++,++pa;

printf("%d\n",pa);

A7; B 6;C5;D4

21、下列说法中正确的是

A C语言程序总是从第一个函数开始执行; B在C语言程序中,要调用的函数必须在main()函数

中定义; CC语言程序总是从main()函数开始执行;

DC语言程序中的main()函数必须放在程序的开始部分

22设有说明int (*ptr)[m];,其中的标识符ptr是

A m个指向整型变量的指针;B指向m个整型变量的函数指针;

C一个指向具有m个整型元素的一维数组的指针; D具有m个指针元素的一维指针数组,每个元素都只能指向整型量

23、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,&f);

为了把100和765.12分别赋值给i和f,正确的输入是

A100765.12; Bi=100,f=765.12; C100 765.12; Di=100 f=765.12

24、C语言允许函数类型缺省定义,此时函数值隐含的类型是( )

Afloat; Bint; Clong; Ddouble

25、在C语言中,合法的字符常量是()

A'\084'; B'\x43'; C'ab'; D"\0"

26设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是

A'a'&&'b'; Ba<=b; Ca||b&&c; D!(a='a'&&c)

27、用链表表示线性表的优点是( )

A便于随机存取; B花费的存储空间较顺序存储少;

C便于插入和删除操作; D数据元素的物理顺序与逻辑顺序相同

28、如果定义x=0xffff,则函数printf("%d",x*x)的输出结果是

A1; B128; C256; D65535

29、下面程序运行后,输出的结果是()

main()

{ char *s="abcde";

printf("%ld\n",s+2);

}

cde;字符c的ASCLL码值;字符c的地址; 出错

试卷3

1用链表表示线性表的优点是( )

A 便于随机存取B花费的存储空间较顺序存储少 C便于插入和删除 D 数据元素的物理顺序与逻辑顺序相同

2下列对C语言字符数组的描述中错误的是

A 字符数组可以存放字符串

B 字符数组中的字符串可以整体输入、输出

C 不可以用关系运算

符对字符数组中的字符串进行比较 D可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

3以下叙述中正确的是( )

A构成C程序的基本单位是函数 B 可以在一个函数中定义另一个函数

C main()函数必须放在其他函数之前

D C函数定义的格式是K&R格式

4下面程序段的输出结果是()

int a=023;

printf("%d\n",--a);

A 23

B 18

C 17

D 012

5设有定义:int (*ptr)();,则下面叙述中正确的是

A ptr是指向一维数组的指针变量

B ptr是指向int型数据的指针变量

C ptr是指向函数的指

针,该函数返回一个int型数据 D ptr是一个函数名,该函数的返回值是指向int型数据的指针

6下面C语言程序段的功能是()

file *fp;

fp=fopen("test.dat","wb");

A以读方式打开文本文件test.dat B 以写方式打开文本文件test.dat C 以读方式打开二进制文件test.dat D 以写方式打开二进制文件test.dat

7C语言提供的合法的关键字是()

A swicth

B cher

C Case

D default

8凡是函数中未指定存储类型的局部变量,其隐含的存储类别为

A 自动(auto)

B 静态(static)

C 外部(extern)

D 寄存器(register)

9、设有如下的变量定义:

unsigned long w=5;double x=1;

则执行printf("%ld\n",sizeof(x)+w);输出的结果是

A 6

B 13

C 6.0

D 9

2算法的表示方法有()

A 自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B 高级语言,汇编语言,机器语言

C C语言,C QBASIC语言,InterDev

D 图形图像法,描述法,编程法

13如果定义变量a,b,c都为整型数据,则执行函数

printf("%d",a=(b=4)+(c=6))的输出结果是 ( )

A 4

B 6

C 2

D 10

14以下只有在使用时才为该类型变量分配内存的存储类说明是( )

A auto和 static

B auto和 register

C register和 static

D extern和 register

15当执行以下程序段时( )

x=-1;

do { x=x*x;} while(!x);()

A 循环体将执行一次

B 循环体将执行两次

C 循环体将执行无限次

D 系统将提示有语法错误

16从作用域的角度来分,C语言的变量可以分成( )

A 自动变量和寄存器变量

B 局部变量和全局变量

C 自动变量和外部变量

D 静态变量和动态变量17下面的for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A 是无限循环

B 循环次数不定

C 执行4次

D 执行3次

18若有说明语句:char c='\72';则变量c()

A 包含1个字符

B 包含2个字符

C 包含3个字符

D 说明不合法,c的值不确定

19结构化程序设计的三种基本结构是()

A 顺序,分枝和选择

B 顺序,选择和循环

C 简单分枝,多重分枝和循环

D 顺序,重复和循环20下列叙述中错误的是()

A C语句必须以分号结束

B 复合语句在语法上被看作一条语句

C 空语句出现在任何位置都不影响程序运行

D 赋值表达式末尾加分号就构成赋值语句21设有说明int (*ptr)[m];,其中的标识符ptr是()

A m个指向整型变量的指针

B 指向m个整型变量的函数指针

C 一个指向具有m个整型元素的一维数组的指针 D具有m个指针元素的一维指针数组,每个元素都只能指向整型量

22在C语言中,合法的字符常量是()

A '\084'

B '\x43 '

C 'ab'

D "\0"

23以下不正确的定义语句是 ( )

A double x[5]={2.0,4.0,6.0,8.0,10.0};

B int y[5]={0,1,3,5,7,9};

C char c1

[]={′1′,′2′,′3′,′4′,′5′}; D char c2[]={′\x10′,′\xa′,′\x8′}; 24一个可执行的C程序的开始执行点是()

A 程序中第一个语句

B 包含文件的第一个函数

C main()函数

D 程序中的第一个函数

25数组名作为参数传递给函数,作为该参数的数组名被处理为()

A 该数组的长度

B 该数组的元素个数

C 该数组中元素的值

D 该数组的首地址

27设有数组定义: char array[]="China"; 则数组 array所占的空间为( ) A 4个字节 B 5个字节 C 6个字节 D 7个字节

28为表示关系X≥Y≥Z应使用C语言表达式:( ) A(X > =Y)&&(Y > =Z) B(X > =Y)and(Y > =Z)C(X≥Y≥Z) D(X≥Y)

&(Y≥Z)

29sizeof(float)是( ) A一个双精度型表达式 B一个整型表达式 C一种函数调用 D 一个不合法的表达式

30以下描述述中正确的是

A scanf("%f",3.5); Bscanf("a=%d ,b=%d"); Cscanf("%4.2f",&d);

Dscanf("%f",&f);

试卷4

1 下列标识中合法的用户标识符为()

A 0

B 1

C 2

D 无限

2 下列标识中合法的用户标识符为()

A year

B long C7 x yz D struct

2 从作用域的角度来分,C语言的变量可以分成( )

A自动变量和寄存器变量

B 局部变量和全局变量

C 自动变量和外部变量

D 静态变量和动态变量

3 下列说法中正确的是

A C语言程序总是从第一个函数开始执行

B 在C语言程序中,要调用的函数必须在main()函数中定义

C C语言程序总是从main()函数开始执行

D C语言程序中的main()函数必须放在程序的开始部分

4 下面的for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++);

A是无限循环

B 循环次数不定

C 执行4次

D 执行3次

4 下面说法正确的是

A程序的执行总是从第一行开始

B 程序的执行总是从第一个函数开始执行

C 程序的执行可以开始于任何一个位置

D 程序的执行总是从main()函数开始执行

5 Turbo C语言环境中,无符号整型(unsigned int)数据类型的取值范围( )

A-32768至32767

B 0至32767

C 0至65535

D 0至65536

6 C语言中最简单的数据类型包括( )

A 整型、实型、逻辑型

B 整型、实型、字符型

C 整型、字符型、逻辑型

D 实型、字符型、逻辑型

7 C语言程序的基本单位是

A 程序行

B 函数

C 语句

D 字符

8 C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )

A 地址传递

B 值传递

C 实参数传给形参,并由形参传回来给实参

9 2C语言中基本的数据类型包括( ) A整型,实型,字符型和逻辑型 B整型,实型,字符型和数组型 C整型,实型,字符

型和枚举型 D整型,实型,字符型和指针型

3

10在C语言中,可以用作用户标识符的一组标识符是

A void、define、WORD Ba3_b3、_123、IF C For、-abc、caseD2a、 DO、sizeof

11下列对C语言字符数组的描述中错误的是

A字符数组可以存放字符串 B字符数组中的字符串可以整体输入、输出 C不可以用关

系运算符对字符数组中的字符串进行比较 D可以在赋值语句中通过赋值运算符“=”对字

符数组整体赋值

6以下不正确的定义语句是 ( )A double x[5]={2.0,4.0,6.0,8.0,10.0};Bint y[5]={0,1,3,5,7,9};Cchar

c1[]={′1′,′2′,′3′,′4′,′5′};Dchar c2[]={′\x10′,′\xa′,′\x8′};

8已知x=43,ch='A',y=0;则表达式(x > = y&&ch < 'B'&&!y)的值是()

A1 B语法错 C D“假”

9如果定义变量a,b,c都为整型数据,则执行函数

printf("%d",a=(b=4)+(c=6))的输出结果是 ( ) A4 B6 C2 D10

10C语言允许函数类型缺省定义,此时函数值隐含的类型是( ) A float B int C long D double

11在C语言程序中,main()函数最多有( ) A0 B 1 C 2 D 不限

13C语言程序的三种基本结构是()

A顺序结构、选择结构、循环结构 B递归结构、循环结构、转移结构

C嵌套结构、递归结构、循环结构 D循环结构、转移结构、顺序结构

14以下不正确的叙述是( )

A在C程序中,逗号运算符的优先级最低 B在C程序中,APH和aph是两个不同的变量

C若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

15以下只有在使用时才为该类型变量分配内存的存储类说明是( )

A auto和 static

B auto和 register

C register和 static

D extern和 register

16若已定义:

int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;

其中 0≤i≤9, 则对a数组元素不正确的引用是( )

A a[p-a]

B *(&a[i])

C p[i]

D a[10]

17下列标识中合法的用户标识符为() A year B long C 7 x yz D struct

18 下列说法中正确的是()

A C语言程序总是从第一个函数开始执行 B在C语言程序中,要调用的函数必须在main()函数中定

义C C语言程序总是从main()函数开始执行 D C语言程序中的main()函数必须放在程序的开始部

19在Turbo C环境中,单步执行的键盘快捷键是( ) A F5 B Shift+F5 C F8 D Ctrl+F9 20为表示关系X≥Y≥Z应使用C语言表达式:( )

A(X > =Y)&&(Y > =Z) B(X > =Y)and(Y > =Z)

C(X≥Y≥Z) D(X≥Y)&(Y≥Z)

22Turbo C语言环境中,无符号整型(unsigned int)数据类型的取值范围( ) A-32768至32767 B 0至32767 C 0至65535 D 0至65536

23设有如下的函数:

ggg(x)

float x;

{ printf("\n%d",x*x);}

则函数的类型是( )

A 与参数x的类型相同

B void

C int

D 无法确定

24 C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( ) A地址传递 B值传递 C 实参数传给形参,并由形参传回来给实参 D由用户指定传递方式

25若x和y都是int型变量,且x=100,y=200,则执行printf("%d",x,y);语句后,输出的结果是

A200 B100 C100 200 D输出格式符不够,输出不确定的值27为了确保自定义函数调用后不返回任何值,则这种函数的类型应定义的类型为( )

A extern Bint C void D register 29若有以下定义和语句:

double r=99,*p=&r;

*p=r;

则下面叙述中正确的是( )

A以上两处的*p含义相同,都说明给指针变量p赋值 B "double r=99,*p=&r;"中把r的地址值给

了p所指的存储单元 C语句"*p=r;"把变量r的值赋给指针变量p D 语句"*p=r;"取变量r的值放回r中

30如果定义x=0xffff,则函数printf("%d",x*x)的输出结果是 A 1 B 128 C 256 D 65535

2编程题

1函数fun计算从1到10之间所有奇数之和并输出

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,

不得删除花括号中的原始注释。

#include

int fun( int m)

{ /****/

/****/}

main()

{

int n,s;void NONO();

n=10;

s=fun(n);

printf("奇数之和=%d\n",s);

NONO();

}

void NONO()

{

FILE *rf, *wf; int a;

rf=fopen("d:\\programC\\1\\in.dat","r");

wf=fopen("d:\\programC\\1\\out.dat","w");

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

{

fscanf(rf,"%d",&a);

fprintf(wf,"%d\n",fun(a));

}

fclose(rf);

fclose(wf);

}

2编写一个函数,实现用 "气泡法" 对输入的10个整数按由小到大顺序排列

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#define N 10

#include"stdio.h"

void sort(int a[ ],int n)

{ /****/

/****/}

main( )

{

int a[N],i; void NONO();

printf("Input %d numbers:\n", N );

for(i=0; i

scanf("%d",&a[i] );

sort(a,N);

printf("The sorted numbers:\n");

for(i=0; i

printf("%4d",a[i]);

printf("\n");

NONO();

void NONO()

{

FILE *rf, *wf; int a[10];

rf=fopen("d:\\programC\\2\\in.dat","r");

wf=fopen("d:\\programC\\2\\out.dat","w");

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

{

for (int j=0;j<10;j++)

fscanf(rf,"%d",&a[j]);

sort(a,10);

for (int k=0;k<10;k++)

fprintf(wf,"%d ",a[k]);

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

3输入一个八进制数字字符串,函数convert将其转换成十进制数后输出。

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#include

int convert(char *p)

{/****/

/****/}

main()

{

char s[6];void NONO();

int a;

printf("请输入一个8进制数字的字符串: ");

gets(s);

a=convert(s);

printf("%d\n",a);

NONO();

void NONO()

{

FILE *rf, *wf; int a=0;

char s[6];

rf=fopen("d:\\programC\\3\\in.dat","r");

wf=fopen("d:\\programC\\3\\out.dat","w");

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

{

fscanf(rf,"%s",s);

a=convert(s);

fprintf(wf,"%d\n",a);

}

fclose(rf);

fclose(wf);

}

编写一个函数,实现用 "气泡法" 对输入的10个整数按由小到大顺序排列

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#define N 10

#include"stdio.h"

void sort(int a[ ],int n)

{ /****/

/****/}

main( )

{

int a[N],i; void NONO();

printf("Input %d numbers:\n", N );

for(i=0; i

scanf("%d",&a[i] );

sort(a,N);

printf("The sorted numbers:\n");

for(i=0; i

printf("%4d",a[i]);

printf("\n");

NONO();

}

void NONO()

{

FILE *rf, *wf; int a[10];

rf=fopen("d:\\programC\\2\\in.dat","r");

wf=fopen("d:\\programC\\2\\out.dat","w");

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

{

for (int j=0;j<10;j++)

fscanf(rf,"%d",&a[j]);

sort(a,10);

for (int k=0;k<10;k++)

fprintf(wf,"%d ",a[k]);

fprintf(wf,"\n");

}

fclose(rf);

fclose(wf);

}

输入一个八进制数字字符串,函数convert将其转换成十进制数后输出。

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#include

int convert(char *p)

{/****/

/****/}

main()

{

char s[6];void NONO();

int a;

printf("请输入一个8进制数字的字符串: ");

gets(s);

a=convert(s);

printf("%d\n",a);

NONO();

}

void NONO()

{

FILE *rf, *wf; int a=0;

char s[6];

rf=fopen("d:\\programC\\3\\in.dat","r");

wf=fopen("d:\\programC\\3\\out.dat","w");

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

{

fscanf(rf,"%s",s);

a=convert(s);

fprintf(wf,"%d\n",a);

}

fclose(rf);

fclose(wf);

}

1.输入3个连续变化的半径值(它们为一等差数列),函数fun返回所有圆的面积的和,要求:"半径值的变化用循环结构表示"。(例如输入的半径分别为"0.5,1.0,1.5" 输出 "总面积:10.99")

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#include

float fun(float firstR, float thridR, float D)

{/****/

/****/}

main()

{

float firR;

float secR;

float thrR;

float sumS;

float d; void NONO();

printf("\n 请输入3个成等差数列的半径值:");

scanf("%f,%f,%f",&firR,&secR,&thrR);

d=secR-firR;

sumS=fun(firR,thrR,d);

printf("总面积:%.2f\n",sumS);

NONO();

}

void NONO()

{

FILE *wf,*rf;

float x[3]; float d,sS=0;

rf=fopen("d:\\programC\\1\\in.dat","r");

wf=fopen("d:\\programC\\1\\out.dat","w");

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

{

for(int j=0;j<3;j++)

fscanf(rf,"%f",&x[j]);

d=x[1]-x[0];

sS=fun(x[0],x[2],d);

fprintf(wf,"%.2f\n",sS);

}

fclose(wf);

fclose(rf);

}

2.从键盘输入一串字母字符串,将其中的小写字母改成对应的大写字母,并输出改变后的这串字符(例如输入 ABCdef 输出为ABCDEF)

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#include

void fun(char *s)

{/****/

/****/}

main()

{

char s[50]; void NONO();

gets(s);

fun(s);

puts(s);

NONO();

}

void NONO()

{

FILE *rf, *wf;

char s[50];

rf=fopen("d:\\programC\\2\\in.dat","r");

wf=fopen("d:\\programC\\2\\out.dat","w");

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

{

fscanf(rf,"%s",s);

fun(s);

fprintf(wf,"%s\n",s);

}

fclose(rf);

fclose(wf);

}

3输出1到100之内共有多少个完数。(完数是指一个数的因子之和等于这个数本身,例如6=1+2+3 那么6就是一个完数)。

注意:部分源程序已经存在文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句,不得删除花括号中的原始注释。

#include

int fun( int N)

{/****/

/****/}

main()

{

int sum=0,M=100; void NONO();

sum=fun(M);

printf("共有完数个数为:%d\n",sum);

NONO();

}

void NONO()

{

FILE *rf, *wf; int m,n=0;

rf=fopen("d:\\programC\\3\\in.dat","r");

wf=fopen("d:\\programC\\3\\out.dat","w");

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

{

fscanf(rf,"%d",&m);

n=fun(m);

fprintf(wf,"%d\n",n);

}

fclose(rf);

fclose(wf);

}

C语言关键字共32个

由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1数据类型关键字 A.基本数据类型(5个) void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char:字符型类型数据,属于整型数据的一种 int:整型数据,通常为编译器指定的机器字长 float:单精度浮点型数据,属于浮点数据的一种 double:双精度浮点型数据,属于浮点数据的一种 B.类型修饰关键字(4个) short:修饰int,短整型数据,可省略被修饰的int。 long:修饰int,长整形数据,可省略被修饰的int。 signed:修饰整型数据,有符号数据类型 unsigned:修饰整型数据,无符号数据类型 C.复杂类型关键字(5个) struct:结构体声明 union:共用体声明 enum:枚举声明 typedef:声明类型别名 sizeof:得到特定类型或特定类型变量的大小 D.存储级别关键字(6个) auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2流程控制关键字

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

c语言数据类型关键字

1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明联合数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)(2)控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明积存器变量 (4)static :声明静态变量 4 其它关键字(4个): (1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言的基本数据类型及其表示

3.2 C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1 常量与变量 1. 常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.4 10-38~3.4 1038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define 标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows 98",可用下面两个宏定义命令: #define PAI 3.1415927 #define W "Windows 98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows 98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言的基本数据类型及其表示

3.2C语言的基本数据类型及其表示 C语言的基本数据类型包括整型数据、实型数据和字符型数据,这些不同数据类型如何表示?如何使用?它们的数据范围是什么?下面我们分别进行介绍。 3.2.1常量与变量 1.常量 常量是指程序在运行时其值不能改变的量,它是C语言中使用的基本数据对 象之一。C语言提供的常量有: 以上是常量所具有的类型属性,这些类型决定了各种常量所占存储空间的大小和数的表示范围。在C程序中,常量是直接以自身的存在形式体现其值和类型,例如:123是一个整型常量,占两个存储字节,数的表示范围是-32768~32767;123.0是实型常量,占四个存储字节,数的表示范围是-3.410-38~3.41038。 需要注意的是,常量并不占内存,在程序运行时它作为操作对象直接出现在运算器的各种寄存器中。 2.符号常量 在C程序中,常量除了以自身的存在形式直接表示之外,还可以用标识符来表示常量。因为经常碰到这样的问题:常量本身是一个较长的字符序列,且在程序中重复出现,例如:取常数的值为3.1415927,如果在程序中多处出现,直接使用3.1415927的表示形式,势必会使编程工作显得繁琐,而且,当需要把的值修改为3.1415926536时,就必须逐个查找并修改,这样,会降低程序的可修改性和灵活性。因此,C语言中提供了一种符号常量,即用指定的标识符来表示某个常量,在程序中需要使用该常量时就可直接引用标识符。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define标识符常量 其中#define是宏定义命令的专用定义符,标识符是对常量的命名,常量可以是前面介绍的几种类型常量中的任何一种。该使指定的标识符来代表指定的常量,这个被指定的标识符就称为符号常量。例如,在C程序中,要用PAI代表实型常量3.1415927,用W代表字符串常量"Windows98",可用下面两个宏定义命令: #define PAI3.1415927 #define W"Windows98" 宏定义的功能是:在编译预处理时,将程序中宏定义(关于编译预处理和宏定义的概念详见9.10节)命令之后出现的所有符号常量用宏定义命令中对应的常量一一替代。例如,对于以上两个宏定义命令,编译程序时,编译系统首先将程序中除这两个宏定义命令之外的所有PAI替换为3.1415927,所有W替换为Windows98。因此,符号常量通常也被称为宏替换名。 习惯上人们把符号常量名用大写字母表示,而把变量名用小写字母表示。例3-1是符号常量的一个简单的应用。其中,PI为定义的符号常量,程序编译时,用3.1416替换所有的PI。 例3-1:已知圆半径r,求圆周长c和圆面积s的值。

C语言数据类型及表示范围

C语言各种数据类型在系统中占的字节和取值围 基本类型包括字节型(char)、整型(int)和浮点型(float/double)。 定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。 下面列举了Dev-C++下基本类型所占位数和取值围: 符号属性长度属性基本型所占位数取值围输入符举例输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u signed -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%u unsigned -- char 8 0 ~ 2^8-1 %c %c、%d、%u [signed] short [int] 16 -2^15 ~ 2^15-1 %hd unsigned short [int] 16 0 ~ 2^16-1 %hu、%ho、%hx [signed] -- int 32 -2^31 ~ 2^31-1 %d unsigned -- [int] 32 0 ~ 2^32-1 %u、%o、%x [signed] long [int] 32 -2^31 ~ 2^31-1 %ld unsigned long [int] 32 0 ~ 2^32-1 %lu、%lo、%lx [signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x -- -- float 32 +/- 3.40282e+038 %f、%e、%g -- -- double 64 +/- 1.79769e+308 %lf、%le、%lg %f、%e、%g -- long double 96 +/- 1.79769e+308 %Lf、%Le、%Lg 几点说明: 1. 注意! 表中的每一行,代表一种基本类型。“[]”代表可省略。 例如:char、signed char、unsigned char是三种互不相同的类型; int、short、long也是三种互不相同的类型。可以使用C++的函数重载特性进行验证,如: void Func(char ch) {} void Func(signed char ch) {} void Func(unsigned char ch) {} 是三个不同的函数。

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

C语言上机考试题目

1、编写一个C 程序,比较任意三个整数的大小,然后输出其中的最大值。方法不限。 2、计算圆的面积和周长。要求:使用符号常量定义圆周率为3.14。 3、输入某学生三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。要求:有输入数据和输出结果的提示。 4、输入三角形的三边长,求三角形的面积。三角形的三边长用变量a,b,c , 其中s=(a+b+c)/2。提示:求某个数x 的平方根函数为sqrt(x),当直接用此函数时,需要在main 函数上面加入头文件:math.h 。 5、输入一个四位的正整数(如果不是,提示“输入错误”),对其个、十、百、千位四位数字求和并实现个位数与百位数、十位数与千位数的互换然后将这个数输出。例如,输入一个四位正整数1234,通过你的程序,如何输出和10以及新的数3412。 6、求ax 2+b x+c=0方程的根。a ,b ,c 由键盘输入。 提示:众所周知,一元二次方程式的根为:x1= x2= 可以将上面的分式分为两项:p= ,q= x1=p+q, x2=p-q 。注意:在b 2-4ac>0的条件下,才可以求方程的根,否则提示a,b,c 的值输入错误。 7、输入三角形的三条边长,判断能否构成三角形,若能输出YES 并且输出三角形的面积,若不能则输出NO 。 8、任意输入三个整型数,要求按照从大到小的顺序输出。 9、从键盘输入一个四位数的年份,判断其是否为闰年。 a ac b b 242-+-a ac b b 242---a b 2-a ac b 242-

10、有一个函数: 写出程序,输入x的值,输出对应的y的值。要求加上相应的文字说明。 11、编程实现大小字母的转换。从键盘输入一个字符,要求使用getchar()函数读入字符。如果输入的是一个小写字母,转换为大写字母;如果输入的是一个大写字吗,转换为小写字母;如果输入的是一个非字母符号,照原样输出。要求有文字说明。 12、判断从键盘输入的是数字字符、大写字母、小写字母、空格还是其他字符。 13、指定一个年龄,要求按照年龄阶段输出相应的时期:1到7是幼年,8到14是童年,15到21是少年,22到28是青年,29到49是中年,50到70是老年。 14、编写程序,将1至7中的任意一个数字转化成对应的英文星期几的前三个字母,如1转化为Mon,7转化为Sun等。 15、在屏幕上显示一张如下所示的时间表: *****Time***** 1 morning 2 afternoon 3 night

C语言上机考试经典试题(3套)

四川省普通高等学校计算机应用知识和能力 第二十八次等级考试 二级(C与C++语言) 笔试试卷 时间: 2008年4月19 日 上午9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。( 1 ) 2. 数据在计算机内存中的表示是指数据的存储结构。( 2 ) 3. Windows是多用户多任务操作系统。( 3 ) 4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 4 ) 5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 ) 6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 ) 7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 7 ) 8. 中断控制方式适用于外存同CPU之间进行大量数据交换。( 8 ) 9. 提供没有错误的程序是提高软件的可维护性的基本措施。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) 二、选择题(每小题1分,共5分) 1. 数据流图是用于描述结构化方法中(11 )工作阶段的工具。 11 (A) 可行性分析(B) 程序编码 (C) 详细设计(D) 需要分析 2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是(12 )。 12 (A) 1,4,3,2 (B) 3,1,4,2 (C) 2,3,4,1 (D) 3,4,2,1 3. 任何两个并发进程之间(13 )。 13 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 4. 以下的哪个特征不是分时操作系统的主要特征(14 )。 14 (A) 分时性(B) 独占性 (C) 交互性(D) 多路性 5. 需求分析中开发人员主要从用户那里了解(15 )。 15 (A) 软件的维护(B) 软件的结构 (C) 软件做什么(D) 软件的测试

C语言数据类型与表达式习题及答案

第一章数据类型,运算符与表达式 一.选择题 1.不合法的常量是A。 A)‘/2’B) “”C)‘’D)“483” 2. B 是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 3.在以下各组标识符中,合法的标识符是(1)A,(2) C ,(3) D 。 (1)A)B01 B)table_1 C)0_t D)k% Int t*.1 W10 point (2)A)Fast_ B)void C)pbl D) Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量1 signed history Flaut 4. 不属于合法的C语言长整型常量的是 C 。 A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。 A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 8.在C语言中,要求参加运算的数必须是整数的运算符是 C 。 A)/ B)* C)% D) = 9.在C语言中,字符型数据在内存中以 D 形式存放。 A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是 C 。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=7+b,b++,a+7;D)a=7+b = c=a+7; 11. B 是非法的C语言转义字符。 A)‘\b’B)‘\0xf’C)‘\037’D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。 A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 13.与代数式x y u v ? ? 不等价的C语言表达式是A。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 14.在C语言中,数字029是一个 D 。 A)八进制数B)十六进制数C)十进制数D)非法数 16.对于char cx=?\039?;语句,正确的是A。 A)不合法B)cx的值是?\03? C)cx的值为四个字符D)cx的值为三个字符 17.若int k=7,x=12;则能使值为3的表达式是 D 。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 18.为了计算s=10!(即10的阶乘),则s变量应定义为 C 。 A)int B)unsigned C)long D)以上三种类型均可

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言基本数据类型及运算题库

第二章基本数据类型及运算 一、选择题 1. 若以下选项中的变量已正确定义,则正确的赋值语句是。 A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3; 答案:C 2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。 A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0 C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0 答案:C 3. 下列C语言中运算对象必须是整型的运算符是。 A) %= B) / C) = D) *= 答案:A 4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。 A) 0 B) 0.5 C) 1 D) 2 答案:A 5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。 A) 把x和y按从大到小排列 B) 把x和y按从小到大排列 C) 无确定结果 D) 交换x和y中的值 答案:D 6. 下列变量定义中合法的是。 A)short_a=1-.le-1; B)double b=1+5e2.5; C)long do=0xfdaL; D)float 2_and=1-e-3; 答案:A 7. 以下4个选项中,不能被看作是一条语句的是。 A) {;} B) a=0,b=0,c=0; C) if (a>0); D) if (b==0)m=1;n=2; 答案:D 8. 设x=1,y=-1,下列表达式中解为8的是。 A)x&y B)~x│x C)x^x D)x<<=3 答案:D 9. 在C语言中不合法的整数是。 A)20 B)0x4001 C)08 D)0x12ed 答案: C 10. 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2 答案:B) 11.若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7 B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B) 12.以下十六进制数中不合法的是 A)oxff B)0Xabc C)0x11 D)0x19

c语言关键字及常用符号

C语言关键字及常用符号 32个关键字 auto :声明自动变量 short :声明短整型变量或函数 int:声明整型变量或函数 long :声明长整型变量或函数 float:声明浮点型变量或函数 double :声明双精度变量或函数 char :声明字符型变量或函数 struct:声明结构体变量或函数 union:声明共用数据类型 enum :声明枚举类型 typedef:用以给数据类型取别名 const :声明只读变量 unsigned:声明无符号类型变量或函数 signed:声明有符号类型变量或函数 extern:声明变量是在其他文件中声明 register:声明寄存器变量 static :声明静态变量 volatile:说明变量在程序执行中可被隐含地改变 void :声明函数无返回值或无参数,声明无类型指针 if:条件语句 else :条件语句否定分支(与 if 连用) switch :用于开关语句 case:开关语句分支 for:一种循环语句 do :循环语句的循环体 while :循环语句的循环条件 goto:无条件跳转语句 continue:结束当前循环,开始下一轮循环 break:跳出当前循环 default:开关语句中的“其他”分支 sizeof:计算数据类型长度 return :子程序返回语句(可以带参数,也可不带参数)循环条件 数据类型 char:字符型 int:基本整型 short int:短整型 long int:长整型

unsigned:无符号型 unsigned long:无符号长整型 float:单精度实型 double:双精度实型 C语言常用转义字符表 转义字符含义ASCII码(16/10进制) \o 空字符(NULL) 00H/0 \n 换行符(LF) 0AH/10 \r 回车符(CR) 0DH/13 \t 水平制表符(HT) 09H/9 \v 垂直制表(VT) 0B/11 \a 响铃(BEL) 07/7 \b 退格符(BS) 08H/8 \f 换页符(FF) 0CH/12 \’单引号27H/39 \”双引号22H/34 \\ 反斜杠5CH/92 \? 问号字符3F/63 \ddd 任意字符三位八进制 \xhh 任意字符二位十六进制 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。 在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。C语言的运算符可分为以下几类: 算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。 关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。 逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。 位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。 赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。 条件运算符:这是一个三目运算符,用于条件求值(?:)。

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式:26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a

C语言数据类型及转换23页word文档

C语言的数据类型 C语言提供的数据结构,是以数据类型形式出现的。具体分类如下:1.基本类型 分为整型、实型(又称浮点型)、字符型和枚举型四种。 2.构造类型 分为数组类型、结构类型和共用类型三种。 3.指针类型。在第9章中介绍。 4.空类型 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。本章将介绍基本类型中的整型、实型和字符型三种数据。 2.3 常量和变量 2.3.1 常量 1.常量的概念 在程序运行过程中,其值不能被改变的量称为常量。 2.常量的分类 (1)整型常量 (2)实型常量 (3)字符常量。 (4)符号常量。 常量的类型,可通过书写形式来判别。 2.3.2 变量 1.变量的概念

在程序运行过程中,其值可以被改变的量称为变量。 2.变量的两个要素 (1)变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。 3.标识符命名规则 (1)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。 (2)有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。 例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。 在TC V2.0中,变量名(标识符)的有效长度为1~32个字符,缺省值为32。 (3)C语言的关键字不能用作变量名。 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。 习惯上,变量名和函数名中的英文字母用小写,以增加可读性。 思考题:在C语言中,变量名total与变量名TOTAL、ToTaL、tOtAl等是同一个变量吗? 标识符命名的良好习惯──见名知意:

C语言程序设计课程C语言上机考试题—2014

1、从键盘输入10个整数,对这10个数排序(由小到大)后输出。 2、从键盘输入10个整数,对这10个数排序(由大到小)后输出。 3、对于一个自然数,如果该数的所有因子之和正好等于该数,则该数称为完数。统计1000以内的完数个数。 4、编写主函数和一个函数int diff(int year, int m1, int d1, int m2, int d2)。(1)函数diff计算year年的m1月d1日至m2月d2日之间相隔的天数(假设m1<=m2);(2)主函数中输入某年的两个日期,调用diff函数计算它们之间相隔的天数,并输出。 5、编写主函数和一个函数void merge(int a[], int b[], int c[])。要求是:(1)函数merge对两个已是升序的数组a、b进行归并,归并后的结果仍然是升序的,并通过形参c返回;(2)主函数:定义长度为5的数组a,并升序初始化;定义长度为8的数组b,并升序初始化;调用merge函数对数组a、b进行归并,输出归并结果。 6、从键盘输入一个0~99999之间的整数。 ①判断它是一个几位数; ②将该数的各位数字按逆序输出。 7、输入一行字符,统计其中有多少个单词并输出,单词之间用空格符分隔开。 8、输入10个整数,判断它们是否为素数。要求:编写一个函数int prime(int m)来判断形参变量m是否为素数,如果是素数则返回1,否则返回0。 9、输入10个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分。 10、编写主函数和一个函数int monthDay(int year, int month)。(1)函数monthDay 计算year年month月的天数,并返回;(2)在主函数中输入一个日期(年、月、日),计算该日是当年的第几天(说明:需要调用monthDay函数)。 11、写两个函数int gcd(int m, int n)和int lcm(int m, int n),分别求两个正整数m 和n的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数的值在主函数中从键盘输入。 12、有0、1、2、3、4五个数字,能组成多少个互不相同且无重复数字的三位数?并计算这些三位数之和。 13、输出2至1000之间的所有同构数,所谓同构数是指它出现在它的平方数的右端。例如,5、6、25的平方分别等于25、36、625,所以5、6和25都是同构数。 14、编写一个函数,将一个数插入到已是升序的数组中,且插入后该数组仍是升序数组。已是升序数组的内容由主函数给出,待插入的数在主函数中输入。 15、编写一个程序,查找某数是否在给定的升序数组中,如果在则输出“Find success!”并输出它是第几个数,否则输出“No find!”。 16、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一个学生5门课程的平均成绩。 17、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一个学生有几门不及格的课程。 18、有4个学生,每个学生有5门课程的成绩,编写一个程序计算每一门课程4个学生的平均成绩。 19、有4个学生,每个学生有5门课程的成绩,编写一个程序统计每一门课程有几个不及格的学生。

C语言基本数据类型简介

C语言基本数据类型简介 1.概述 C 语言包含的数据类型如下图所示: 2.各种数据类型介绍 2.1整型 整形包括短整型、整形和长整形。 2.1.1短整形 short a=1; 2.1.2整形 一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值围是 -2147483648~2147483647,在存中的存储顺序是地位在前、高位在后,例如0x12345678在存中的存储如下: 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:78563412 定义:用int关键字,举例如下: int a=6; 2.1.3长整形 long a=10; 2.2浮点型 浮点型包括单精度型和双精度型。 2.2.1单精度型 浮点型,又称实型,也称单精度。一般占4个字节(32位), float a=4.5; 地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b 数据:00009040 2.2.2双精度型 一般占8个字节(64位) double a=4.5;

地址:0x0012ff780x0012ff790x0012ff7a0x0012ff7b0x0012ff7c 0x0012ff7d0x0012ff7e0x0012ff7f 数据:0000000000 001240 2.3字符类型 在各种不同系统中,字符类型都占一个字节(8位)。定义如下: char c='a'; 也可以用字符对应的ASCII码赋值,如下: char c=97; 3.数据类型与“模子” short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。 现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在存上咔咔咔,不同大小的存就分配好了,当然别忘了给它们取个好听的名字。 在32 位的系统上 short 短整型的存2 byte; int 整型的存4 byte; long 长整型的存4 byte; float 单精度浮点型的存4byte;仅能接收7位有效数字 double 双精度浮点型的存8 byte;可以接收16位有效数字 char字符型的存1 byte。 fabs单精度浮点型存4byte. (注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下) 很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多存块,你总不能

相关文档
相关文档 最新文档