大學(xué)C語言考試題庫(含答案)
單項(xiàng)選擇
==================================================
題號:1482
執(zhí)行以下程序段后,輸出結(jié)果和a的值是()。 int a=10; printf("%d",a++);
A、11 和? 10
B、11 和 11
C、10 和 11
D、10 和? 10
答案:
C
題號:2100
已知字符'A'的ASCⅡ代碼值是65,字符變量c1的值是'A',c2的值是'D'.執(zhí)行語句printf("%d,%d",c1,c2-2);后,輸出結(jié)果是
A、65,66
B、A,B
C、65,68
D、A,68
答案:
A
題號:5055
相同結(jié)構(gòu)體類型的變量之間,可以()。
A、比較大小
B、地址相同
C、賦值
D、相加
答案:
C
題號:3217
int a[10];合法的數(shù)組元素的最小下標(biāo)值為()。
A、1
B、0
C、10
D、9
答案:
B
題號:45
能正確表示邏輯關(guān)系:" a≥10或a≤0 "的C語言表達(dá)式是
A、a>=0 | a<=10
B、a>=10 or a<=0
C、a>=10 && a<=0
D、a>=10 || a<=0
答案:
D
題號:157
main()
{int x=1,a=0,b=0;
switch (x)
? { case? 0: b++;
? ? case? 1: a++;
? ? case? 2: a++;b++;}? ? ? ? ? ? ? ? ? ? ?printf("a=%d,b=%d",a,b);
}該程序的輸出結(jié)果是( )
A、2,2
B、2,1
C、1,1
D、1,0
答案:
B
題號:4784
設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的
數(shù)據(jù)類型為()。
A、不確定
B、double
C、int
D、float
答案:
B
題號:1647
?以下程序中,while循環(huán)的循環(huán)次數(shù)是______
main()
{
? int? i=0;
? while(i<10)
? {
? ? if(i<1)? ?continue;
? ? if(i==5)? break;
? ? i++;
? }
}
A、死循環(huán),不能確定次數(shù)
B、6
C、4
D、1
答案:
A
題號:191
若有說明語句:char c='\72';則變量c()。
A、說明不合法,c的值不確定
B、包含3個字符
C、包含1個字符
D、包含2個字符
答案:
C
題號:1300
下列程序運(yùn)行結(jié)果為:
#define? P? 3
#define? S(a)? ?P*a*a
main()
?{int? ar;
? ?ar=S(3+5);
? ?printf("\n%d",ar);
?}
A、192
B、25
C、29
D、27
答案:
C
判斷
==================================================
題號:6755
若i =3,則printf("%d",-i++);輸出的值為 -4。
答案:錯誤
題號:6167
表達(dá)式 (j=3, j++) 的值是4.
答案:錯誤
題號:1495
C語言中只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組。
答案:正確
題號:2921
參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。
答案:錯誤
題號:2691
若有 int i=10,j=2;則執(zhí)行完i*=j+8;后ⅰ的值為28。
答案:錯誤
題號:464
若 a=3,b=2,c=1 則關(guān)系表達(dá)式"(a>b)==c" 的值為"真"。
答案:正確
題號:66
若有 # define S(a,b) a*b 則語句 area=S(3,2); area的值為6。
答案:正確
題號:758
若有宏定義:#define S(a,b) t=a;a=b;b=t由于變量t沒定義,
所以此宏定義是錯誤的。
答案:錯誤
題號:2158
#define 和printf 都不是C語句。
答案:正確
題號:5102
關(guān)系運(yùn)算符<= 與 == 的優(yōu)先級相同。
答案:錯誤
填空
==================================================
題號:1076
表達(dá)式3.5 + 1 / 2的計(jì)算結(jié)果是_____。
答案:
空 1:
3.5
題號:551
請寫出以下程序的輸出結(jié)果_____。
main()
? ? ? ? {? ?int? a = 100;
if( a > 100)? ?printf(“%d\n”, a > 100);
else? ? ? ? ?printf(“%d\n”, a <= 100);
? ? ? ? }
答案:
空 1:
1
題號:3255
表達(dá)式(int)((double)(5/2)+2.5)的值是_____.
答案:
空 1:
4
題號:2472
閱讀下面程序,程序執(zhí)行后的輸出結(jié)果為_____。
#include "stdio.h"
main()
{
char a,b;
for(a=′0′,b=′9′;a<b;a++,b--)
?printf("%c%c",a,b);
printf("\n");
}
答案:
空 1:
0918273645
題號:937
以下程序段的輸出結(jié)果是_____。
int? i = 0, sum = 1;
? ? ? ? do??
{? sum += i++;?
} while( i < 5);
? ? ? ? printf(“%d\n”, sum);
答案:
空 1:
11
題號:5213
以下程序段的輸出結(jié)果是_____、_____、_____、_____、_____。
? ? ? ? ? ?int? x = 0177;
? ? ? ? printf(“x = %3d, x = %6d, x = %6o, x = %6x, x = %6u\n”, x, x, x, x, x);
答案:
空 1:
x = 127
空 2:
x =? ? 127
空 3:
x =? ? 177
空 4:
x =? ?7f
空 5:
x =? ? 127
題號:3210
以下程序的輸出結(jié)果是_____。
main()
{? ?int? a = 3, b = 2, c = 1;
? ? c -= ++b;
? ? b *= a + c;
? ? {? ?int? b = 5, c = 12;
? ? ? ? c /= b * 2;
? a -= c;?
printf(“%d, %d, %d, ”, a, b, c );
a += --c;
}
printf(“%d, %d, %d\n”, a, b, c);
}
答案:
空 1:
2,5,1,2,3,-2
題號:4474
當(dāng)計(jì)算機(jī)用兩個字節(jié)存放一個整數(shù)時,其中能存放的最大十進(jìn)制整數(shù)是_____、最小十進(jìn)制整數(shù)是_____,它們的二進(jìn)制形式是_____。
答案:
空 1:
65535
空 2:
-32768
空 3:
1111 1111 1111 1111,1000 0000 0000 0000
題號:2791
結(jié)構(gòu)化程序由_____、_____、_____三種基本結(jié)構(gòu)組成。
答案:
空 1:
順序
空 2:
條件分支 【或】 選擇
空 3:
循環(huán)
題號:561
閱讀下面程序,程序執(zhí)行后的輸出結(jié)果是_____。
#include "stdio.h"
main()
{?
?int x,y,z;
?x = 1; y = 2; z = 3;
?if(x>y)
if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d\n",z);
}
答案:
空 1:
3
程序設(shè)計(jì)
==================================================
題號:2660
/*------------------------------------------------
【程序設(shè)計(jì)】
--------------------------------------------------
功能:計(jì)算出k以內(nèi)最大的10個能被13或17整除的自然數(shù)之
? ? ? 和。(k〈3000)。
------------------------------------------------*/
#include <stdio.h>
#include"conio.h"
void? bky();?
??
int fun(int k)
{
? /**********Begin**********/
??
??
??
??
??
??
? /**********? End? **********/
??
}
main()? ?
{
? int? m;
? printf("Enter m: ");
? scanf("%d", &m);
? printf("\nThe result is %d\n", fun(m));
? bky();
}? ?
void bky()
{
? FILE *IN,*OUT;
? int s ;
? int t;
? int o;
??
? IN=fopen("in.dat","r");
? if(IN==NULL)
? {
? ? printf("Read FILE Error");
? }
? OUT=fopen("out.dat","w");
? if(OUT==NULL)
? {
? ? printf("Write FILE Error");
? }?
? for(s=1;s<=5;s++)
? {?
? ? fscanf(IN,"%d",&t);
? ? o=fun(t);
? ? fprintf(OUT,"%d\n",o);
? }
? fclose(IN);
? fclose(OUT);
}
示例代碼:
int a=0,b=0;
while((k>=2)&&(b<10))
{if((k%13==0)||(k%17==0))
? {a=a+k;b++;}
? k--;
? ? ?}
? ? ?return a;
題號:5854
C語言中不可以嵌套的是()。
A、選擇語句
B、循環(huán)語句
C、函數(shù)調(diào)用
D、函數(shù)定義
答案:
D
題號:1957
C語言中,邏輯"真"等價于
A、非零的整數(shù)
B、大于零的整數(shù)
C、非零的數(shù)
D、大于零的數(shù)
答案:
C
題號:3786
用戶定義的函數(shù)不可以調(diào)用的函數(shù)是()。
A、本文件外的
B、main函數(shù)
C、本函數(shù)下面定義的
D、非整型返回值的
答案:
B
題號:1764
以下敘述中正確的是 ()。
A、C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B、分號是C語句之間的分隔符,不是語句的一部分
C、花括號“{“和”}”只能作為函數(shù)體的定界符
D、構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
答案:
A
題號:299
下面四個選項(xiàng)中,均是不合法的浮點(diǎn)數(shù)的選項(xiàng)是()。
A、-e3? .234? ?1e3
B、160.? 0.12? ? e3
C、123? 2e4.2? .e5
D、-.18? 123e4? ?0.0
答案:
C
題號:6131
假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是()。
k1=1;
k2=2;
k3=3;
x=15;
if(!k1)? ?x--;
else? if(k2)? ? x=4;
? ? ? ? else? ?x=3;
A、15
B、14
C、3
D、4
答案:
D
題號:3208
若變量已正確定義,以下程序段的輸出結(jié)果是
x=5.16894;
? ? ? ? printf(“%f\n”, (int)(x*1000+0.5)/(float)1000);
A、5.17000
B、輸出格式說明與輸出項(xiàng)不匹配,輸出無定值
C、5.168000
D、5.169000
答案:
D
題號:5043
以下選項(xiàng)中合法的實(shí)型常數(shù)是()。
A、5E2.0
B、1.3E
C、E-3
D、.2E0
答案:
D
題號:5608
有以下程序
? ? ? ? ?main()
? ? ?{? int i;
? ? ? ? for(i=0; i<3; i++)
? ? ? ? ? ?switch(i)
? ? ? ? ? ?{? case 1: printf("%d", i);
? ? ? ? ? ? ? case 2: printf("%d", i);
? ? ? ? ? ? ? default : printf("%d", i);
? ? ? ? ? ?}
? ? ?}
執(zhí)行后輸出結(jié)果是
A、011122
B、120
C、012020
D、012
答案:
A
題號:572
對以下說明語句? int a[10]={6,7,8,9,10};? 的正確理解是()。
A、將5個初值依次賦給a[1]至a[5]
B、將5個初值依次賦給a[6]至a[10]
C、因?yàn)閿?shù)組長度與初值的個數(shù)不相同,所以此語句不正確
D、將5個初值依次賦給a[0]至a[4]
答案:
D
判斷
==================================================
題號:1325
若有說明int c;則while(c=getchar());是正確的C語句。
答案:正確
題號:3386
若有int ⅰ=10, j=0;則執(zhí)行完語句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值為11。
答案:錯誤
題號:464
若 a=3,b=2,c=1 則關(guān)系表達(dá)式"(a>b)==c" 的值為"真"。
答案:正確
題號:2316
while和do…while循環(huán)不論什么條件下它們的結(jié)果都是相同的.
答案:錯誤
題號:2989
char c[]="Very Good"; 是一個合法的為字符串?dāng)?shù)組賦值的語句。
答案:正確
題號:5034
語句scanf("%7.2f",&a);是一個合法的scanf函數(shù)。
答案:錯誤
題號:2067
如果想使一個數(shù)組中全部元素的值為0,可以寫成?
int a[10]={0*10};
答案:錯誤
題號:5263
x*=y+8 等價于 x=x*(y+8)。
答案:正確
題號:3862
如果函數(shù)值的類型和return語句中表達(dá)式的值不一致,則以
函數(shù)類型為準(zhǔn)。
答案:正確
題號:3558
整數(shù) -32100可以賦值給int型和long int型變量。
答案:正確
填空
==================================================
題號:551
請寫出以下程序的輸出結(jié)果_____。
main()
? ? ? ? {? ?int? a = 100;
if( a > 100)? ?printf(“%d\n”, a > 100);
else? ? ? ? ?printf(“%d\n”, a <= 100);
? ? ? ? }
答案:
空 1:
1
題號:1575
對以下數(shù)學(xué)式,寫出三個等價的C語言表達(dá)式是_____、_____、_____
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
答案:
空 1:
a/c/b 【或】 a/(b*c) 【或】 a/b/c
空 2:
a/c/b 【或】 a/b/c? 【或】 a/(b*c)
空 3:
a/b/c 【或】 a/c/b? 【或】 a/(b*c)
題號:1076
表達(dá)式3.5 + 1 / 2的計(jì)算結(jié)果是_____。
答案:
空 1:
3.5
題號:2758
若x為double型變量,請寫出運(yùn)算x = 3.2, ++x后表達(dá)式的值_____和變量的值_____。
答案:
空 1:
4.2
空 2:
4.2
題號:582
以下程序的執(zhí)行結(jié)果是_____。
main()
{?
? ?int k=8;
? ?switch(k)
{
?case? 9: k+=1;
case 10: k+=1;
case 11: k+=1; break;
default: k+=1;
}
printf("%d\n",k);
}
答案:
空 1:
9
題號:2868
若要通過以下語句給a、b、c、d分別輸入字符A、B、C、D,給w、x、y、z分別輸入
10、20、30、40,正確的輸入形式是_____。請用<CR>代表Enter鍵。
scanf(“%d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &c, &z, &d);
答案:
空 1:
10A20B30C40D<CR>
題號:4063
以下程序段的輸出結(jié)果是_____、_____、_____、_____? ??
? ? ? ? double? ?a = 513.789215;
? ? ? ? printf(“a = %8.6f, a = %8.2f, a = %14.8f, a = %14.8lf\n”, a, a, a, a);
答案:
空 1:
a = 513.789215
空 2:
a =? ?513.79
空 3:
a =? ?513.78921500
空 4:
a =? ?513.78921500
題號:5076
以下程序的輸出結(jié)果是_____。
main()
{? ?int a=0;
a+=(a=8);
printf("%d\n",a);? }
答案:
空 1:
16
題號:5410
以下程序的執(zhí)行結(jié)果是_____。
main()
? {
? ? ? int a, b, *p = &a, *q = &b;
? ? ? a = 10;
? ? ? b = 20;
? ? ? *p = b;
? ? ? *q = a;
? ? ? printf(“a = %d, b = %d\n”, a, b);
? }
答案:
空 1:
?a = 20, b = 20?
題號:6975
以下程序的輸出結(jié)果是_____。
main()
? ? ? ? {? ?int? x = 2;
while ( x-- );
printf(“%d\n”, x);
? ? ? ? }
答案:
空 1:
-1
程序設(shè)計(jì)
==================================================
題號:58
/*------------------------------------------------
【程序設(shè)計(jì)】
--------------------------------------------------
功能:將字符串中的小寫字母轉(zhuǎn)換為對應(yīng)的大寫字母,
? ? ? 其它字符不變。
------------------------------------------------*/
#include "string.h"
#include <stdio.h>
void? bky();?
void change(char str[])
{
? /**********Begin**********/
??
??
??
??
??
??
? /**********? End? **********/
}
main()
{
? void change();
? char str[40];
? gets(str);
? change(str);
? puts(str);
? bky();
}
void bky()
{
? FILE *IN,*OUT;
? char i[200];
? IN=fopen("in.dat","r");
? if(IN==NULL)
? {
? ? printf("Read FILE Error");
? }
? OUT=fopen("out.dat","w");
? if(OUT==NULL)
? {
? ? printf("Write FILE Error");
? }
? fscanf(IN,"%s",i);
? change(i);
? fprintf(OUT,"%s\n",i);
? fclose(IN);
? fclose(OUT);
}
示例代碼:
int i;
? ? for(i=0;str[i]!='\0';i++)
? ? ? if(str[i]>='a' && str[i]<='z')?
? ? ? ? ?str[i]=str[i]-32;
題號:45
能正確表示邏輯關(guān)系:" a≥10或a≤0 "的C語言表達(dá)式是
A、a>=0 | a<=10
B、a>=10 or a<=0
C、a>=10 && a<=0
D、a>=10 || a<=0
答案:
D
題號:53
若已定義x為int類型變量,下列語句中說明指針變量p的正確語句是()。
A、int *p=&x;
B、int p=&x;
C、*p=*x;
D、int *p=x;
答案:
A
題號:2244
字符串指針變量中存入的是
A、第一個字符
B、字符串
C、字符串的首地址
D、字符串變量
答案:
C
題號:3722
下列字符數(shù)組長度為5的是
A、char? ? c[10]= {'h', 'a', 'b', 'c', 'd'};
B、char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};
C、char? a[]={'h', 'a', 'b', 'c', 'd'};
D、char? ?d[6]= {'h', 'a', 'b', 'c', '\0' };
答案:
C
題號:2703
從鍵盤上輸入某字符串時,不可使用的函數(shù)是()。
A、getchar()
B、scanf()
C、fread()
D、gets()
答案:
A
題號:3402
以下對整型數(shù)組a的正確說明是:
A、int? n = 10, a[n];
B、
C、
D、int a(10);
答案:
C
題號:130
若char a[10];已正確定義,以下語句中不能從鍵盤上給a數(shù)組的
所有元素輸入值的語句是()。
A、scanf("%s",a);
B、for(i=0;i<10;i++)a[i]=getchar();
C、a=getchar();
D、gets(a);
答案:
C
題號:191
若有說明語句:char c='\72';則變量c()。
A、說明不合法,c的值不確定
B、包含3個字符
C、包含1個字符
D、包含2個字符
答案:
C
題號:4539
以下程序的輸出結(jié)果是
main()
? ? ? ? {? ?int? i = 1,? j = 3;
printf(“%d,”, i++);
{? ?int? i = 0;
? ? i += j * 2;
? ? printf(“%d,%d,”, i, j );
}
pritnf(“%d,%d\n”, i, j );
? ? ? ? }
A、1,6,3,2,3
B、2,7,3,2,3
C、1,7,3,2,3
D、2,6,3,2,3
答案:
A
題號:300
以下對一維整型數(shù)組a的正確說明是()。
A、#define SIZE 10? (換行)? int a[SIZE];
B、int a(10);
C、int n; scanf("%d",&n); int a[n];
D、int n=10,a[n];
答案:
A
判斷
==================================================
題號:2691
若有 int i=10,j=2;則執(zhí)行完i*=j+8;后ⅰ的值為28。
答案:錯誤
題號:2067
如果想使一個數(shù)組中全部元素的值為0,可以寫成?
int a[10]={0*10};
答案:錯誤
題號:1118
函數(shù)調(diào)用語句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的實(shí)參個數(shù)是5.
答案:錯誤
題號:1534
C語言所有函數(shù)都是外部函數(shù).
答案:錯誤
題號:2158
#define 和printf 都不是C語句。
答案:正確
題號:6321
循環(huán)結(jié)構(gòu)中的continue語句是使整個循環(huán)終止執(zhí)行
答案:錯誤
題號:2583
在程序中定義了一個結(jié)構(gòu)體類型后,可以多次用它來定義具有
該類型的變量。
答案:正確
題號:3386
若有int ⅰ=10, j=0;則執(zhí)行完語句
if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值為11。
答案:錯誤
題號:2998
c程序總是從程序的第一條語句開始執(zhí)行.
答案:錯誤
題號:5034
語句scanf("%7.2f",&a);是一個合法的scanf函數(shù)。
答案:錯誤
填空
==================================================
題號:582
以下程序的執(zhí)行結(jié)果是_____。
main()
{?
? ?int k=8;
? ?switch(k)
{
?case? 9: k+=1;
case 10: k+=1;
case 11: k+=1; break;
default: k+=1;
}
printf("%d\n",k);
}
答案:
空 1:
9
題號:5171
把a(bǔ)1、a2定義成單精度實(shí)型變量,并賦初值1的說明語句是_____。
答案:
空 1:
float? a1 = 1.0, a2 = 1.0;
題號:63
以下程序的輸出結(jié)果是_____。
#define? PR(ar)? ? printf(“ar = %d? “, ar)
main()
{? ?int? j, a[] = { 1, 3, 5, 7, 9, 11, 13, 15},? *p = a + 5;
? ? for(j = 3;? j ; j--)
? ? ? ?switch( j )
? ? ? ?{? case? 1:
? ? ? ? ? case? 2:? PR(*p++);? break;
? ? ? ? ? case? 3:? PR(*(--p) );
? ? ? ?}
}
答案:
空 1:
ar=9? ar=9? ar=11
題號:3255
表達(dá)式(int)((double)(5/2)+2.5)的值是_____.
答案:
空 1:
4
題號:1076
表達(dá)式3.5 + 1 / 2的計(jì)算結(jié)果是_____。
答案:
空 1:
3.5
題號:6547
當(dāng)a = 1、b = 2、c = 3時,以下if語句執(zhí)行后,a、b、c中的值分別為:_____、_____、_____
? ? ? ? ? ?if(a > c)
? ? ? ? ? ?b = a; a = c; c = b;
答案:
空 1:
3
空 2:
2
空 3:
2
題號:3925
閱讀下面程序,則執(zhí)行后程序的結(jié)果為_____。
#include? "stdio.h"
main()
{
int a=0,b=0;
while(a<15)
a++;
while(b++<15);
printf("%d,%d\n",a,b);
}
答案:
空 1:
15, 16
題號:4473
有以下程序段:
s = 1.0;
? ? ? ? for(k = 1; k <= n; k++)
? ?s = s + 1.0 / (k * (k + 1));
? ? ? ? printf(“%f\n”, s);
請?zhí)羁?,使下面的程序段的功能完全與之等同。
? ? ? ? s = 0.0;
_____;
? ? ? ? k = 0;
? ? ? ? do?
? ? ? ? {? ?s += d;
? ? ? ? ? ? _____;
d = 1.0 / (k * (k + 1));
? ? ? ? }while(_____ );
? ? ? ? printf(“%f\n”, s);
答案:
空 1:
d = 1.0
空 2:
k++
空 3:
k <= n
題號:6975
以下程序的輸出結(jié)果是_____。
main()
? ? ? ? {? ?int? x = 2;
while ( x-- );
printf(“%d\n”, x);
? ? ? ? }
答案:
空 1:
-1
題號:4423
下列程序的功能是輸入一個整數(shù),判斷其是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0.請?zhí)羁铡?/p>
main()
{ int i, x, y=1;
scanf("%d", &x);
for(i=2; i<= _____; i++)
if_____{ y=0; break;}
printf("%d\n", y);
}
答案:
空 1:
x / 2
空 2:
!(x % i) 【或】 x % i == 0
程序設(shè)計(jì)
==================================================
題號:788
/*-------------------------------------------------------
【程序設(shè)計(jì)】
---------------------------------------------------------
題目:用while語句求1~100的累計(jì)和。
-------------------------------------------------------*/
void? bky();?
int? fun(int n)
{
??
? /**********Begin**********/
? /**********? End? **********/
??
}
void? main()
{??
? int? sum = 0;?
? sum=fun(100);
? printf ("sum = %d\n", sum);
? bky();
}
void bky()
{
? FILE *IN,*OUT;
? int i;
? int iIN,iOUT;
? IN=fopen("in.dat","r");
? if(IN==NULL)
? {
? ? printf("Please Verify The Currernt Dir..it May Be Changed");
? }
? OUT=fopen("out.dat","w");
? if(OUT==NULL)
? {
? ? printf("Please Verify The Current Dir.. it May Be Changed");
? }
? for(i=0;i<5;i++)
? {? ? ? ??
? ? fscanf(IN,"%d",&iIN);
? ? iOUT=fun(iIN);
? ? fprintf(OUT,"%d\n",iOUT);
? }
? fclose(IN);
? fclose(OUT);
}
示例代碼:
?int i=1,sum=0;
? while(i<=n)? ? ?
? {
sum=sum+i; ? ?
? ? i++; ? ?
? }
? return sum;
題號:4662
變量p為指針變量,若p=&a,下列說法不正確的是()。
A、*(p++)==a++
B、&*p==&a
C、(*p)++==a++
D、*&a==a
答案:
A
題號:6651
C語言允許函數(shù)類型缺省定義,此時函數(shù)值隱含的類型是()。
A、long
B、float
C、int
D、double
答案:
C
題號:6993
若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2 的值是()。
A、1
B、2.0
C、2.5
D、2
答案:
B
題號:6988
以下程序的輸出結(jié)果是
main()
? ? ? ? {? int? a = 2, b =5;
? ? ? ? ? ?printf(“a=%%d,b=%%d\n”,a, b);
? ? ? ? }
A、a=%2,b=%5
B、a=%%d,b=%%d
C、a=%d,b=%d
D、a=2,b=5
答案:
C
題號:5659
若有定義int a[10],*p=a;,則p+5表示
A、元素a[5]的地址
B、元素a[6]的地址
C、元素a[6]的值
D、元素a[5]的值
答案:
A
題號:6490
若有說明:int *p,m=5,n;以下正確的程序段是()。
A、scanf("%d",&n);*p=n;
B、p=&n;*p=m;
C、p=&n;scanf("%d",*p)
D、p=&n;scanf("%d",&p);
答案:
B
題號:6073
下列程序的輸出結(jié)果為()。
main()
{int m=7,n=4;
float? a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A、28.000000
B、27.500000
C、28.500000
D、27.000000
答案:
D
題號:401
以下所列的C語言常量中,錯誤的是()。
A、'\72'
B、0xFF
C、2L
D、1.2e0.5
答案:
D
題號:1684
int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;則c的值為()。
A、3
B、2
C、不一定
D、1
答案:
B
題號:961
C語言中 while 和 do-while 循環(huán)的主要區(qū)別是()。
A、while的循環(huán)控制條件比 do-while的循環(huán)控制條件更嚴(yán)格
B、do-while 的循環(huán)體至少無條件執(zhí)行一次
C、do-while 的循環(huán)體不能是復(fù)合語句
D、do-while 允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
答案:
B
判斷
==================================================
題號:3927
兩個字符串中的字符個數(shù)相同時才能進(jìn)行字符串大小的比較
答案:錯誤
題號:5124
7&3+12的值是15。
答案:錯誤
題號:3721
語句 printf("%f%%",1.0/3);輸出為 0.333333。
答案:錯誤
題號:3862
如果函數(shù)值的類型和return語句中表達(dá)式的值不一致,則以
函數(shù)類型為準(zhǔn)。
答案:正確
題號:6755
若i =3,則printf("%d",-i++);輸出的值為 -4。
答案:錯誤
題號:4579
通過return語句,函數(shù)可以帶回一個或一個以上的返回值。
答案:錯誤
題號:2440
int i,*p=&i;是正確的C說明。
答案:正確
題號:4678
a=(b=4)+(c=6) 是一個合法的賦值表達(dá)式。
答案:正確
題號:6288
十進(jìn)制數(shù)15的二進(jìn)制數(shù)是1111.
答案:正確
題號:464
若 a=3,b=2,c=1 則關(guān)系表達(dá)式"(a>b)==c" 的值為"真"。
答案:正確
填空
==================================================
題號:2713
以下程序段的輸出結(jié)果是_____。
printf(“%d\n”, strlen(“s\n\016\0end”));
答案:
空 1:
3
題號:2758
若x為double型變量,請寫出運(yùn)算x = 3.2, ++x后表達(dá)式的值_____和變量的值_____。
答案:
空 1:
4.2
空 2:
4.2
題號:3121
若有定義:int a=8,b=5,c 執(zhí)行語句c=a/b+0.4后,c的值為_____
答案:
空 1:
1
題號:4474
當(dāng)計(jì)算機(jī)用兩個字節(jié)存放一個整數(shù)時,其中能存放的最大十進(jìn)制整數(shù)是_____、最小十進(jìn)制整數(shù)是_____,它們的二進(jìn)制形式是_____。
答案:
空 1:
65535
空 2:
-32768
空 3:
1111 1111 1111 1111,1000 0000 0000 0000
題號:4683
若從鍵盤輸入58,則以下程序輸出的結(jié)果是_____。
main()
{
? int a;
scanf"%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
答案:
空 1:
585858
題號:1262
請寫出與以下表達(dá)式等價的表達(dá)式是 A)_____B)_____。
A)!(x>0)? ? ? ? ? ? ? B)!0
答案:
空 1:
x <= 0
空 2:
1
題號:5076
以下程序的輸出結(jié)果是_____。
main()
{? ?int a=0;
a+=(a=8);
printf("%d\n",a);? }
答案:
空 1:
16
題號:5410
以下程序的執(zhí)行結(jié)果是_____。
main()
? {
? ? ? int a, b, *p = &a, *q = &b;
? ? ? a = 10;
? ? ? b = 20;
? ? ? *p = b;
? ? ? *q = a;
? ? ? printf(“a = %d, b = %d\n”, a, b);
? }
答案:
空 1:
?a = 20, b = 20?
題號:5299
運(yùn)用位運(yùn)算,能將八進(jìn)制數(shù)0125000除以4,然后賦給變量a的表達(dá)式是_____。
答案:
空 1:
a = 0125000>>2
題號:2211
在C語言程序中,用關(guān)鍵字_____定義基本整型變量,用關(guān)鍵字_____定義單精度實(shí)型變量,用關(guān)鍵字_____定義雙精度實(shí)型變量。
答案:
空 1:
int
空 2:
float
空 3:
double
程序設(shè)計(jì)
==================================================
題號:4003
/*------------------------------------------------
【程序設(shè)計(jì)】
--------------------------------------------------
功能:求一個四位數(shù)的各位數(shù)字的立方和
------------------------------------------------*/
#include <stdio.h>
void VV();
? ? ?
int fun(int n)
{
??
? /**********? Begin? **********/
??
??
??
??
? /**********? ?End? ***********/
??
}
main()
{
? int k;
? k=fun(1234);
? printf("k=%d\n",k);
? VV();
}
void VV()
{
? FILE *IN,*OUT;
? int iIN,iOUT,i;
? IN=fopen("22.IN","r");
? if(IN==NULL)
? {
? ? printf("Please Verify The Currernt Dir..it May Be Changed");
? }
? OUT=fopen("22.out","w");
? if(OUT==NULL)
? {
? ? printf("Please Verify The Current Dir.. it May Be Changed");
? }
? for(i=0;i<10;i++)
? {
? ? fscanf(IN,"%d",&iIN);
? ? iOUT=fun(iIN);
? ? fprintf(OUT,"%d\n",iOUT);
? }
? fclose(IN);
? fclose(OUT);
}
示例代碼:
int d,k,s=0;
while (n>0)
{
? d=n%10;
? s+=d*d*d;
? n/=10;
}
return s;
題號:6991
以下程序的執(zhí)行結(jié)果是________.
? main()
? { int? w = 1, x = 2, y = 3, z = 4;
? ? ?w =( w < x ) ? x : w;?
? ? w =( w < y ) ? y : w;?
? ? ? ? ?w =( w < z ) ? z : w;
? ? printf( "%d " , w );}
A、2
B、4
C、3
D、1
答案:
B
題號:5467
若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是()。
A、n=*q;
B、p=q;
C、p=n;
D、*p=*q;
答案:
C
題號:5820
以下程序的輸出結(jié)果是
void? prtv(int? *x)
{? ?printf(“%d\n”, ++*x);? ?}
main()
{? ?int? a = 25;
? ? prtv(&a);
}
A、24
B、26
C、23
D、25
答案:
B
題號:6988
以下程序的輸出結(jié)果是
main()
? ? ? ? {? int? a = 2, b =5;
? ? ? ? ? ?printf(“a=%%d,b=%%d\n”,a, b);
? ? ? ? }
A、a=%2,b=%5
B、a=%%d,b=%%d
C、a=%d,b=%d
D、a=2,b=5
答案:
C
題號:6976
語句printf("a\bre\'hi\'y\\\bou\n");的輸出結(jié)果是
(說明:'\b'是退格符)()。
A、a\bre\'hi\'y\\\bou
B、re'hi'you
C、abre'hi'y\bou
D、a\bre\'hi\'y\bou
答案:
B
題號:166
以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是()。
A、關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符
B、賦值運(yùn)算符<邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符
C、算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符
D、邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符
答案:
B
題號:333
下列語句的結(jié)果是()。
main()
{ int j;
? ?j=3;
printf("%d,",++j);?
printf("%d",j++);
}
A、3,4
B、4,4
C、4,3
D、3,3
答案:
B
題號:457
設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是
A、6.000000
B、5.500000
C、6
D、6.500000
答案:
A
題號:523
若有定義:int a=7;float x=2.5,y=4.7;
則表達(dá)式x+a%3*(int)(x+y)%2/4的值是()。
A、3.500000
B、0.000000
C、2.750000
D、2.500000
答案:
D
題號:855
若有以下程序段:int a=3,b=4;? a=a^b;b=b^a;a=a^b;則執(zhí)行以上
語句后,a和b的值分別是()。
A、a=4,b=4
B、a=3,b=3
C、a=3,b=4
D、a=4,b=3
答案:
D
判斷
==================================================
題號:1325
若有說明int c;則while(c=getchar());是正確的C語句。
答案:正確
題號:478
C語言中"%"運(yùn)算符的運(yùn)算對象必須是整型.
答案:正確
題號:2998
c程序總是從程序的第一條語句開始執(zhí)行.
答案:錯誤
題號:3246
假設(shè)有int a[10],? *p;則p=&a[0]與p=a等價
答案:正確
題號:2158
#define 和printf 都不是C語句。
答案:正確
題號:1498
C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來
實(shí)現(xiàn)的。
答案:正確
題號:6288
十進(jìn)制數(shù)15的二進(jìn)制數(shù)是1111.
答案:正確
題號:5263
x*=y+8 等價于 x=x*(y+8)。
答案:正確
題號:2691
若有 int i=10,j=2;則執(zhí)行完i*=j+8;后ⅰ的值為28。
答案:錯誤
題號:5102
關(guān)系運(yùn)算符<= 與 == 的優(yōu)先級相同。
答案:錯誤
填空
==================================================
題號:937
以下程序段的輸出結(jié)果是_____。
int? i = 0, sum = 1;
? ? ? ? do??
{? sum += i++;?
} while( i < 5);
? ? ? ? printf(“%d\n”, sum);
答案:
空 1:
11
題號:1076
表達(dá)式3.5 + 1 / 2的計(jì)算結(jié)果是_____。
答案:
空 1:
3.5
題號:1797
以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運(yùn)行時給k輸入100,給a輸入25.81,
給x輸入1.89234時的三種可能的輸入形式_____、_____、_____。
? ? ? ? ? ?int? ?k; flaot? a;? double? x;
? ? ? ? scanf(“%d%f%lf”, &k, &a, &x);
? ? ? ? printf(“k = %d, a = %f, x = %f\n”, k, a, x);
答案:
空 1:
100 25.81 1.8923
空 2:
100? 25.81 1.8923?
空 3:
100 25.81 1.8923
題號:2472
閱讀下面程序,程序執(zhí)行后的輸出結(jié)果為_____。
#include "stdio.h"
main()
{
char a,b;
for(a=′0′,b=′9′;a<b;a++,b--)
?printf("%c%c",a,b);
printf("\n");
}
答案:
空 1:
0918273645
題號:2797
以下程序的輸出結(jié)果是_____。
unsigned? fun6(unsigned? num)
? ? ? ? {? ?unsigned? k = 1;
do
{? ?k *= num % 10;
? num /= 10;
} while( num);
return k;
? ? ? ? }
main()
{? ?unsigned? n = 26;?
? ?printf(“%d\n”, fun6(n));
}
答案:
空 1:
12
題號:4423
下列程序的功能是輸入一個整數(shù),判斷其是否是素?cái)?shù),若為素?cái)?shù)輸出1,否則輸出0.請?zhí)羁铡?/p>
main()
{ int i, x, y=1;
scanf("%d", &x);
for(i=2; i<= _____; i++)
if_____{ y=0; break;}
printf("%d\n", y);
}
答案:
空 1:
x / 2
空 2:
!(x % i) 【或】 x % i == 0
題號:6966
設(shè)變量a的二進(jìn)制數(shù)是00101101,若想通過運(yùn)算a^b使a的高4位取反,低4位不變,
則b的二進(jìn)制數(shù)應(yīng)該是_____。
答案:
空 1:
11110000
題號:3121
若有定義:int a=8,b=5,c 執(zhí)行語句c=a/b+0.4后,c的值為_____
答案:
空 1:
1
題號:5171
把a(bǔ)1、a2定義成單精度實(shí)型變量,并賦初值1的說明語句是_____。
答案:
空 1:
float? a1 = 1.0, a2 = 1.0;
題號:6655
若表達(dá)式(a+b)>c*2&&b!=5||!(1/2)中,a、b、c的定義和賦值為
Int? ?a=3,b=4,c=2;
? ? 則表達(dá)式的值為_____。
答案:
空 1:
1
程序設(shè)計(jì)
==================================================
題號:1124
/*? ? 請編寫一個函數(shù)fun,它的功能是:找出一維整型數(shù)組元素中最大的值和它所在的下標(biāo),?
最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。
主函數(shù)中x是數(shù)組名, n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。
? ? 注意:部分源程序存在文件prog.c中。
? ? 請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>?
void fun(int? a[],? int? n , int? *max, int? *d )
{
? ? /**********? Begin? **********/
??
??
??
??
? ? /**********? ?End? ***********/
}
void NONO ( )
{/* 本函數(shù)用于打開文件,輸入數(shù)據(jù),調(diào)用函數(shù),輸出數(shù)據(jù),關(guān)閉文件。 */
? FILE *fp, *wf ;
? int i,? x[20],? max , index, n = 10, j ;
? fp = fopen("bc06.in","r") ;
? if(fp == NULL) {
? ? printf("數(shù)據(jù)文件bc06.in不存在!") ;
? ? return ;
? }
? wf = fopen("bc06.out","w") ;
? for(i = 0 ; i < 10 ; i++) {
? ? for(j = 0 ; j < n ; j++) fscanf(fp, "%d,", &x[j]) ;
? ? fun( x, n , &max, &index);
? ? fprintf(wf, "Max=%d,Index=%d\n", max, index) ;
? }
? fclose(fp) ;
? fclose(wf) ;
}
main()
{ int i,? x[20],? max , index, n = 10;
? srand(time(0));?
? for (i=0;i < n;i++) {x[i] = rand()%50; printf("%4d", x[i]) ; }
? printf("\n");
? fun( x, n , &max, &index);
? printf("Max =%5d ,? Index =%4d\n",max, index );
? NONO();
}
示例代碼:
int i,base,subscript;
? ? ?base=a[0]; /*假定第一個元素的值最大*/
? ? ?subscript=0;? /*subscript用于存放數(shù)組下標(biāo)*/
? ?for(i=1;i<n;i++) {
? ? ? ?if(a[i]>base) { /*將數(shù)組中的其他元素與變量base作比較,如果大于它則交換兩者的值*/
? ? ? ? ? ?subscript=i;?
? ? ? ? ? ?base=a[i];
? ? ? ? }
? ?}
? ?*max=base; /*將最大值元素的值賦給*max*/
? ?*d=subscript; /*將最大值元素的下標(biāo)賦給*d*/
題號:5537
有定義:char*p1,*p2;則下列表達(dá)式中正確合理的是
A、p1/=5
B、p1+=5
C、p1=&p2
D、p1*=p2
答案:
C
題號:5257
若有定義:int *p[3];,則以下敘述中正確的是()。
A、定義了一個名為*p的整型數(shù)組,該數(shù)組含有三個int類型元素
B、定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個int類型元素
C、定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指針
D、定義了一個基類型為int的指針變量p,該變量具有三個指針
答案:
C
題號:6968
C語言中,定義結(jié)構(gòu)體的保留字是()。
A、struct
B、union
C、enum
D、typedef
答案:
A
題號:1468
設(shè) char *s="\ta\017bc";則指針變量s指向的字符串所占的字節(jié)數(shù)
是()。
A、7
B、6
C、9
D、5
答案:
B
題號:5300
以下程序的輸出結(jié)果是
main()
? ? ? ? {? ?int? a[] = {1, 2, 3, 4}, i, x = 0;
for(i = 0;? i < 4;? i++)??
{? ?sub(a, &x);? printf(“%d ”, x);? ?}
pritnf(“\n”);
? ? ? ? }
? ? ? ? sub(int? *s,? int? *y)
? ? ? ? {? ?static? int? t = 3;
*y = s[t];? t--;
? ? ? ? }
A、4 4 4 4
B、0 0 0 0
C、1 2 3 4
D、4 3 2 1
答案:
D
題號:1700
以下敘述正確的是:
A、用do-while構(gòu)成循環(huán)時,只有在while后的表達(dá)式為非零時結(jié)束循環(huán)
B、do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。
C、用do-while構(gòu)成循環(huán)時,只有在while后的表達(dá)式為零時結(jié)束循環(huán)
D、do-while語句構(gòu)成的循環(huán)只能用break語句退出。
答案:
C
題號:2823
對兩個數(shù)組a和b進(jìn)行如下初始化:
char a[] = “ABCDEF”;
char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};
則以下敘述正確的是
A、a與b中都存放字符串
B、a數(shù)組比b數(shù)組長度長
C、a與b長度相同
D、a與b完全相同
答案:
B
題號:4522
以下數(shù)值中,不正確的八進(jìn)制數(shù)或十六進(jìn)制數(shù)是()。
A、-16
B、0x16
C、16
D、0xaaaa
答案:
A
題號:1353
對于基本類型相同的兩個指針變量之間,不能進(jìn)行的運(yùn)算是()。
A、+
B、<
C、=
D、-
答案:
A
題號:2247
執(zhí)行下列語句后的結(jié)果為()。?
int x=3,y;?
int *px=&x;??
y=*px++;
A、x=3,y=4
B、x=3,y不知
C、x=4,y=4
D、x=3,y=3
答案:
D
判斷
==================================================
題號:2921
參加位運(yùn)算的數(shù)據(jù)可以是任何類型的數(shù)據(jù)。
答案:錯誤
題號:2316
while和do…while循環(huán)不論什么條件下它們的結(jié)果都是相同的.
答案:錯誤
題號:3246
假設(shè)有int a[10],? *p;則p=&a[0]與p=a等價
答案:正確
題號:2851
字符處理函數(shù)strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.
答案:錯誤
題號:4703
函數(shù)strlen("ASDFG\n")的值是7。
答案:錯誤
題號:5124
7&3+12的值是15。
答案:錯誤
題號:6167
表達(dá)式 (j=3, j++) 的值是4.
答案:錯誤
題號:4678
a=(b=4)+(c=6) 是一個合法的賦值表達(dá)式。
答案:正確
題號:3721
語句 printf("%f%%",1.0/3);輸出為 0.333333。
答案:錯誤
題號:583
若有定義和語句:
int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);
若通過鍵盤輸入:
10,A,12.5,則a=10,c='A',f=12.5.
答案:正確
填空
==================================================
題號:6886
以下程序的執(zhí)行結(jié)果是_____。
#define PRINT(V)? printf(“V = %d\t”,V)
? ?main()
? ?{
? ? ? int a, b;
? ? ? a = 1; b = 2;
? ? ? PRINT(a);
? ? ? PRINT(b);
}
答案:
空 1:
V = 1? V = 2??
題號:6547
當(dāng)a = 1、b = 2、c = 3時,以下if語句執(zhí)行后,a、b、c中的值分別為:_____、_____、_____
? ? ? ? ? ?if(a > c)
? ? ? ? ? ?b = a; a = c; c = b;
答案:
空 1:
3
空 2:
2
空 3:
2
題號:5307
下列程序的執(zhí)行結(jié)果是_____。
int d = 1;
? ?fun(int p)
? ?{? ?int d = 5;
? ? d += p++;
? ? pritnf(“%d “, d);
?}
?main()
?{? ?int a = 3;
? ? ?fun(a);?
? ? ?d += a++;
? ? ?printf(“%d\n”, d);
? }
答案:
空 1:
8 4
題號:1540
以下程序的輸出結(jié)果是_____。
double? sub(double? x, double? y, double? z)
? ? ? ? {? ?y -= 1.0;
z = z + x;
return z;
? ? ? ? }
? ? ? ? main()
? ? ? ? {? ?double? a = 2.5, b = 9.0;
printf(“%f\n”, sub(b - a, a, b));
? ? ? ? }
答案:
空 1:
15.500000
題號:606
以下程序段的輸出結(jié)果是_____。
? ? ? ?int? ?k, n, m;
? ? ? ? n = 10;? m = 1;? k = 1;
? ? ? ? while( k <= n )
? m *= 2;
? ? ? ? printf(“%d\n”, m);
答案:
空 1:
無輸出結(jié)果 【或】 死循環(huán) 【或】 死循環(huán)無輸出結(jié)果
題號:561
閱讀下面程序,程序執(zhí)行后的輸出結(jié)果是_____。
#include "stdio.h"
main()
{?
?int x,y,z;
?x = 1; y = 2; z = 3;
?if(x>y)
if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d\n",z);
}
答案:
空 1:
3
題號:1240
函數(shù)體由符號_____開始,用符號_____結(jié)束。
答案:
空 1:
{
空 2:
}
題號:1829
若k為int型變量且賦值11,請寫出運(yùn)算k++后表達(dá)式的值_____和變量的值_____。
答案:
空 1:
11
空 2:
12
題號:2493
將下列數(shù)學(xué)式改寫成C語言的關(guān)系表達(dá)式或邏輯表達(dá)式是 A)_____B)_____。
A)a=b或a<c? ? ? ? ? ? ? B)|x|>4
答案:
空 1:
a==b || a<c
空 2:
abs(x)>4 【或】 x<-4 || x>4
題號:1575
對以下數(shù)學(xué)式,寫出三個等價的C語言表達(dá)式是_____、_____、_____
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
答案:
空 1:
a/c/b 【或】 a/(b*c) 【或】 a/b/c
空 2:
a/c/b 【或】 a/b/c? 【或】 a/(b*c)
空 3:
a/b/c 【或】 a/c/b? 【或】 a/(b*c)
程序設(shè)計(jì)
==================================================
題號:5002
/*------------------------------------------------
【程序設(shè)計(jì)】
--------------------------------------------------
功能:對某一正數(shù)的值保留2位小數(shù),并對第三位進(jìn)行四舍
? ? ? 五入。
------------------------------------------------*/
#include "stdio.h"
#include "conio.h"
??
float fun(float h)
{
? /*********Begin**********/
??
??
??
??
??
??
? /**********? End? **********/
??
}
main()? ?
{
? float? m;
? void TestFunc();
? printf("Enter m: ");
? scanf("%f", &m);
? printf("\nThe result is %8.2f\n", fun(m));
? TestFunc();
??
}? ?
void TestFunc()
{
? FILE *IN,*OUT;
? int s ;
? float t;
? float o;
??
? IN=fopen("in.dat","r");
? if(IN==NULL)
? {
? ? printf("Read File Error");
? }
? OUT=fopen("out.dat","w");
? if(OUT==NULL)
? {
? ? printf("Write File Error");
? }?
? for(s=1;s<=5;s++)
? {?
? ? fscanf(IN,"%f",&t);
? ? o=fun(t);
? ? fprintf(OUT,"%8.2f\n",o);
? }
? fclose(IN);
? fclose(OUT);
}
示例代碼:
int i;
i=(int)(h*1000)%10;
if(i>=5)
? return(int)(h*100+1)/100.0;
else
? return(int)(h*100)/100.0;