tft每日頭條

 > 教育

 > 大一c語言題庫及答案

大一c語言題庫及答案

教育 更新时间:2024-06-16 01:20:31

大一c語言題庫及答案?單項選擇==================================================,今天小編就來聊一聊關于大一c語言題庫及答案?接下來我們就一起去研究一下吧!

大一c語言題庫及答案(大學C語言考試題庫)1

大一c語言題庫及答案

單項選擇

==================================================

題号:1482

執行以下程序段後,輸出結果和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'.執行語句printf("%d,%d",c1,c2-2);後,輸出結果是

A、65,66

B、A,B

C、65,68

D、A,68

答案:

A

題号:5055

相同結構體類型的變量之間,可以()。

A、比較大小

B、地址相同

C、賦值

D、相加

答案:

C

題号:3217

int a[10];合法的數組元素的最小下标值為()。

A、1

B、0

C、10

D、9

答案:

B

題号:45

能正确表示邏輯關系:" a≥10或a≤0 "的C語言表達式是

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);

}該程序的輸出結果是( )

A、2,2

B、2,1

C、1,1

D、1,0

答案:

B

題号:4784

設變量a是整型,f是實型,i是雙精度型,則表達式10 'a' i*f值的

數據類型為()。

A、不确定

B、double

C、int

D、float

答案:

B

題号:1647

以下程序中,while循環的循環次數是______

main()

{

int i=0;

while(i<10)

{

if(i<1) continue;

if(i==5) break;

i ;

}

}

A、死循環,不能确定次數

B、6

C、4

D、1

答案:

A

題号:191

若有說明語句:char c='\72';則變量c()。

A、說明不合法,c的值不确定

B、包含3個字符

C、包含1個字符

D、包含2個字符

答案:

C

題号:1300

下列程序運行結果為:

#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

表達式 (j=3, j ) 的值是4.

答案:錯誤

題号:1495

C語言中隻能逐個引用數組元素而不能一次引用整個數組。

答案:正确

題号:2921

參加位運算的數據可以是任何類型的數據。

答案:錯誤

題号:2691

若有 int i=10,j=2;則執行完i*=j 8;後ⅰ的值為28。

答案:錯誤

題号:464

若 a=3,b=2,c=1 則關系表達式"(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

關系運算符<= 與 == 的優先級相同。

答案:錯誤

填空

==================================================

題号:1076

表達式3.5 1 / 2的計算結果是_____。

答案:

空 1:

3.5

題号:551

請寫出以下程序的輸出結果_____。

main()

{ int a = 100;

if( a > 100) printf(“%d\n”, a > 100);

else printf(“%d\n”, a <= 100);

}

答案:

空 1:

1

題号:3255

表達式(int)((double)(5/2) 2.5)的值是_____.

答案:

空 1:

4

題号:2472

閱讀下面程序,程序執行後的輸出結果為_____。

#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

以下程序段的輸出結果是_____。

int i = 0, sum = 1;

do

{ sum = i ;

} while( i < 5);

printf(“%d\n”, sum);

答案:

空 1:

11

題号:5213

以下程序段的輸出結果是_____、_____、_____、_____、_____。

int x = 0177;

printf(“x = =, x = m, 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

以下程序的輸出結果是_____。

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

當計算機用兩個字節存放一個整數時,其中能存放的最大十進制整數是_____、最小十進制整數是_____,它們的二進制形式是_____。

答案:

空 1:

65535

空 2:

-32768

空 3:

1111 1111 1111 1111,1000 0000 0000 0000

題号:2791

結構化程序由_____、_____、_____三種基本結構組成。

答案:

空 1:

順序

空 2:

條件分支 【或】 選擇

空 3:

循環

題号:561

閱讀下面程序,程序執行後的輸出結果是_____。

#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

程序設計

==================================================

題号:2660

/*------------------------------------------------

【程序設計】

--------------------------------------------------

功能:計算出k以内最大的10個能被13或17整除的自然數之

和。(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==0)||(k==0))

{a=a k;b ;}

k--;

}

return a;

題号:5854

C語言中不可以嵌套的是()。

A、選擇語句

B、循環語句

C、函數調用

D、函數定義

答案:

D

題号:1957

C語言中,邏輯"真"等價于

A、非零的整數

B、大于零的整數

C、非零的數

D、大于零的數

答案:

C

題号:3786

用戶定義的函數不可以調用的函數是()。

A、本文件外的

B、main函數

C、本函數下面定義的

D、非整型返回值的

答案:

B

題号:1764

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

A、C程序中注釋部分可以出現在程序中任意合适的地方

B、分号是C語句之間的分隔符,不是語句的一部分

C、花括号“{“和”}”隻能作為函數體的定界符

D、構成C程序的基本單位是函數,所有函數名都可以由用戶命名

答案:

A

題号:299

下面四個選項中,均是不合法的浮點數的選項是()。

A、-e3 .234 1e3

B、160. 0.12 e3

C、123 2e4.2 .e5

D、-.18 123e4 0.0

答案:

C

題号:6131

假定所有變量均已正确定義,下列程序段運行後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

若變量已正确定義,以下程序段的輸出結果是

x=5.16894;

printf(“%f\n”, (int)(x*1000 0.5)/(float)1000);

A、5.17000

B、輸出格式說明與輸出項不匹配,輸出無定值

C、5.168000

D、5.169000

答案:

D

題号:5043

以下選項中合法的實型常數是()。

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);

}

}

執行後輸出結果是

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、因為數組長度與初值的個數不相同,所以此語句不正确

D、将5個初值依次賦給a[0]至a[4]

答案:

D

判斷

==================================================

題号:1325

若有說明int c;則while(c=getchar());是正确的C語句。

答案:正确

題号:3386

若有int ⅰ=10, j=0;則執行完語句

if (j=0)ⅰ ; else ⅰ- -; ⅰ的值為11。

答案:錯誤

題号:464

若 a=3,b=2,c=1 則關系表達式"(a>b)==c" 的值為"真"。

答案:正确

題号:2316

while和do…while循環不論什麼條件下它們的結果都是相同的.

答案:錯誤

題号:2989

char c[]="Very Good"; 是一個合法的為字符串數組賦值的語句。

答案:正确

題号:5034

語句scanf("%7.2f",&a);是一個合法的scanf函數。

答案:錯誤

題号:2067

如果想使一個數組中全部元素的值為0,可以寫成

int a[10]={0*10};

答案:錯誤

題号:5263

x*=y 8 等價于 x=x*(y 8)。

答案:正确

題号:3862

如果函數值的類型和return語句中表達式的值不一緻,則以

函數類型為準。

答案:正确

題号:3558

整數 -32100可以賦值給int型和long int型變量。

答案:正确

填空

==================================================

題号:551

請寫出以下程序的輸出結果_____。

main()

{ int a = 100;

if( a > 100) printf(“%d\n”, a > 100);

else printf(“%d\n”, a <= 100);

}

答案:

空 1:

1

題号:1575

對以下數學式,寫出三個等價的C語言表達式是_____、_____、_____

答案:

空 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

表達式3.5 1 / 2的計算結果是_____。

答案:

空 1:

3.5

題号:2758

若x為double型變量,請寫出運算x = 3.2, x後表達式的值_____和變量的值_____。

答案:

空 1:

4.2

空 2:

4.2

題号:582

以下程序的執行結果是_____。

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

以下程序段的輸出結果是_____、_____、_____、_____

double a = 513.789215;

printf(“a = %8.6f, a = %8.2f, a = .8f, a = .8lf\n”, a, a, a, a);

答案:

空 1:

a = 513.789215

空 2:

a = 513.79

空 3:

a = 513.78921500

空 4:

a = 513.78921500

題号:5076

以下程序的輸出結果是_____。

main()

{ int a=0;

a =(a=8);

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

答案:

空 1:

16

題号:5410

以下程序的執行結果是_____。

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

以下程序的輸出結果是_____。

main()

{ int x = 2;

while ( x-- );

printf(“%d\n”, x);

}

答案:

空 1:

-1

程序設計

==================================================

題号:58

/*------------------------------------------------

【程序設計】

--------------------------------------------------

功能:将字符串中的小寫字母轉換為對應的大寫字母,

其它字符不變。

------------------------------------------------*/

#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

能正确表示邏輯關系:" a≥10或a≤0 "的C語言表達式是

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

下列字符數組長度為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

從鍵盤上輸入某字符串時,不可使用的函數是()。

A、getchar()

B、scanf()

C、fread()

D、gets()

答案:

A

題号:3402

以下對整型數組a的正确說明是:

A、int n = 10, a[n];

B、

C、

D、int a(10);

答案:

C

題号:130

若char a[10];已正确定義,以下語句中不能從鍵盤上給a數組的

所有元素輸入值的語句是()。

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

以下程序的輸出結果是

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

以下對一維整型數組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;則執行完i*=j 8;後ⅰ的值為28。

答案:錯誤

題号:2067

如果想使一個數組中全部元素的值為0,可以寫成

int a[10]={0*10};

答案:錯誤

題号:1118

函數調用語句:func(rec1,rec2 rec3,(rec4,rec5));中,含有的實參個數是5.

答案:錯誤

題号:1534

C語言所有函數都是外部函數.

答案:錯誤

題号:2158

#define 和printf 都不是C語句。

答案:正确

題号:6321

循環結構中的continue語句是使整個循環終止執行

答案:錯誤

題号:2583

在程序中定義了一個結構體類型後,可以多次用它來定義具有

該類型的變量。

答案:正确

題号:3386

若有int ⅰ=10, j=0;則執行完語句

if (j=0)ⅰ ; else ⅰ- -; ⅰ的值為11。

答案:錯誤

題号:2998

c程序總是從程序的第一條語句開始執行.

答案:錯誤

題号:5034

語句scanf("%7.2f",&a);是一個合法的scanf函數。

答案:錯誤

填空

==================================================

題号:582

以下程序的執行結果是_____。

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

把a1、a2定義成單精度實型變量,并賦初值1的說明語句是_____。

答案:

空 1:

float a1 = 1.0, a2 = 1.0;

題号:63

以下程序的輸出結果是_____。

#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

表達式(int)((double)(5/2) 2.5)的值是_____.

答案:

空 1:

4

題号:1076

表達式3.5 1 / 2的計算結果是_____。

答案:

空 1:

3.5

題号:6547

當a = 1、b = 2、c = 3時,以下if語句執行後,a、b、c中的值分别為:_____、_____、_____

if(a > c)

b = a; a = c; c = b;

答案:

空 1:

3

空 2:

2

空 3:

2

題号:3925

閱讀下面程序,則執行後程序的結果為_____。

#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);

請填空,使下面的程序段的功能完全與之等同。

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

以下程序的輸出結果是_____。

main()

{ int x = 2;

while ( x-- );

printf(“%d\n”, x);

}

答案:

空 1:

-1

題号:4423

下列程序的功能是輸入一個整數,判斷其是否是素數,若為素數輸出1,否則輸出0.請填空。

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

程序設計

==================================================

題号:788

/*-------------------------------------------------------

【程序設計】

---------------------------------------------------------

題目:用while語句求1~100的累計和。

-------------------------------------------------------*/

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語言允許函數類型缺省定義,此時函數值隐含的類型是()。

A、long

B、float

C、int

D、double

答案:

C

題号:6993

若已定義x和y為double類型,則表達式x=1,y=x 3/2 的值是()。

A、1

B、2.0

C、2.5

D、2

答案:

B

題号:6988

以下程序的輸出結果是

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

下列程序的輸出結果為()。

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 循環的主要區别是()。

A、while的循環控制條件比 do-while的循環控制條件更嚴格

B、do-while 的循環體至少無條件執行一次

C、do-while 的循環體不能是複合語句

D、do-while 允許從外部轉到循環體内

答案:

B

判斷

==================================================

題号:3927

兩個字符串中的字符個數相同時才能進行字符串大小的比較

答案:錯誤

題号:5124

7&3 12的值是15。

答案:錯誤

題号:3721

語句 printf("%f%%",1.0/3);輸出為 0.333333。

答案:錯誤

題号:3862

如果函數值的類型和return語句中表達式的值不一緻,則以

函數類型為準。

答案:正确

題号:6755

若i =3,則printf("%d",-i );輸出的值為 -4。

答案:錯誤

題号:4579

通過return語句,函數可以帶回一個或一個以上的返回值。

答案:錯誤

題号:2440

int i,*p=&i;是正确的C說明。

答案:正确

題号:4678

a=(b=4) (c=6) 是一個合法的賦值表達式。

答案:正确

題号:6288

十進制數15的二進制數是1111.

答案:正确

題号:464

若 a=3,b=2,c=1 則關系表達式"(a>b)==c" 的值為"真"。

答案:正确

填空

==================================================

題号:2713

以下程序段的輸出結果是_____。

printf(“%d\n”, strlen(“s\n\016\0end”));

答案:

空 1:

3

題号:2758

若x為double型變量,請寫出運算x = 3.2, x後表達式的值_____和變量的值_____。

答案:

空 1:

4.2

空 2:

4.2

題号:3121

若有定義:int a=8,b=5,c 執行語句c=a/b 0.4後,c的值為_____

答案:

空 1:

1

題号:4474

當計算機用兩個字節存放一個整數時,其中能存放的最大十進制整數是_____、最小十進制整數是_____,它們的二進制形式是_____。

答案:

空 1:

65535

空 2:

-32768

空 3:

1111 1111 1111 1111,1000 0000 0000 0000

題号:4683

若從鍵盤輸入58,則以下程序輸出的結果是_____。

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

請寫出與以下表達式等價的表達式是 A)_____B)_____。

A)!(x>0) B)!0

答案:

空 1:

x <= 0

空 2:

1

題号:5076

以下程序的輸出結果是_____。

main()

{ int a=0;

a =(a=8);

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

答案:

空 1:

16

題号:5410

以下程序的執行結果是_____。

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

運用位運算,能将八進制數0125000除以4,然後賦給變量a的表達式是_____。

答案:

空 1:

a = 0125000>>2

題号:2211

在C語言程序中,用關鍵字_____定義基本整型變量,用關鍵字_____定義單精度實型變量,用關鍵字_____定義雙精度實型變量。

答案:

空 1:

int

空 2:

float

空 3:

double

程序設計

==================================================

題号:4003

/*------------------------------------------------

【程序設計】

--------------------------------------------------

功能:求一個四位數的各位數字的立方和

------------------------------------------------*/

#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;

s =d*d*d;

n/=10;

}

return s;

題号:6991

以下程序的執行結果是________.

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

以下程序的輸出結果是

void prtv(int *x)

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

main()

{ int a = 25;

prtv(&a);

}

A、24

B、26

C、23

D、25

答案:

B

題号:6988

以下程序的輸出結果是

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");的輸出結果是

(說明:'\b'是退格符)()。

A、a\bre\'hi\'y\\\bou

B、re'hi'you

C、abre'hi'y\bou

D、a\bre\'hi\'y\bou

答案:

B

題号:166

以下關于運算符優先順序的描述中正确的是()。

A、關系運算符<算術運算符<賦值運算符<邏輯運算符

B、賦值運算符<邏輯運算符<關系運算符<算術運算符

C、算術運算符<關系運算符<賦值運算符<邏輯運算符

D、邏輯運算符<關系運算符<算術運算符<賦值運算符

答案:

B

題号:333

下列語句的結果是()。

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

設a和b均為double型變量,且a=5.5、b=2.5,則表達式(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;

則表達式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;則執行以上

語句後,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語言中"%"運算符的運算對象必須是整型.

答案:正确

題号:2998

c程序總是從程序的第一條語句開始執行.

答案:錯誤

題号:3246

假設有int a[10], *p;則p=&a[0]與p=a等價

答案:正确

題号:2158

#define 和printf 都不是C語句。

答案:正确

題号:1498

C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數來

實現的。

答案:正确

題号:6288

十進制數15的二進制數是1111.

答案:正确

題号:5263

x*=y 8 等價于 x=x*(y 8)。

答案:正确

題号:2691

若有 int i=10,j=2;則執行完i*=j 8;後ⅰ的值為28。

答案:錯誤

題号:5102

關系運算符<= 與 == 的優先級相同。

答案:錯誤

填空

==================================================

題号:937

以下程序段的輸出結果是_____。

int i = 0, sum = 1;

do

{ sum = i ;

} while( i < 5);

printf(“%d\n”, sum);

答案:

空 1:

11

題号:1076

表達式3.5 1 / 2的計算結果是_____。

答案:

空 1:

3.5

題号:1797

以下程序段,要求通過scanf語句給變量賦值,然後輸出變量的值。寫出運行時給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

閱讀下面程序,程序執行後的輸出結果為_____。

#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

以下程序的輸出結果是_____。

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

下列程序的功能是輸入一個整數,判斷其是否是素數,若為素數輸出1,否則輸出0.請填空。

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

設變量a的二進制數是00101101,若想通過運算a^b使a的高4位取反,低4位不變,

則b的二進制數應該是_____。

答案:

空 1:

11110000

題号:3121

若有定義:int a=8,b=5,c 執行語句c=a/b 0.4後,c的值為_____

答案:

空 1:

1

題号:5171

把a1、a2定義成單精度實型變量,并賦初值1的說明語句是_____。

答案:

空 1:

float a1 = 1.0, a2 = 1.0;

題号:6655

若表達式(a b)>c*2&&b!=5||!(1/2)中,a、b、c的定義和賦值為

Int a=3,b=4,c=2;

則表達式的值為_____。

答案:

空 1:

1

程序設計

==================================================

題号:1124

/* 請編寫一個函數fun,它的功能是:找出一維整型數組元素中最大的值和它所在的下标,

最大的值和它所在的下标通過形參傳回。數組元素中的值已在主函數中賦予。

主函數中x是數組名, n是x中的數據個數,max存放最大值,index存放最大值所在元素的下标。

注意:部分源程序存在文件prog.c中。

請勿改動主函數main和其它函數中的任何内容,僅在函數fun的花括号中填入你編寫的若幹語句。*/

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

void fun(int a[], int n , int *max, int *d )

{

/********** Begin **********/

/********** End ***********/

}

void NONO ( )

{/* 本函數用于打開文件,輸入數據,調用函數,輸出數據,關閉文件。 */

FILE *fp, *wf ;

int i, x[20], max , index, n = 10, j ;

fp = fopen("bc06.in","r") ;

if(fp == NULL) {

printf("數據文件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()P; printf("M", x[i]) ; }

printf("\n");

fun( x, n , &max, &index);

printf("Max =] , Index =M\n",max, index );

NONO();

}

示例代碼:

int i,base,subscript;

base=a[0]; /*假定第一個元素的值最大*/

subscript=0; /*subscript用于存放數組下标*/

for(i=1;i<n;i ) {

if(a[i]>base) { /*将數組中的其他元素與變量base作比較,如果大于它則交換兩者的值*/

subscript=i;

base=a[i];

}

}

*max=base; /*将最大值元素的值賦給*max*/

*d=subscript; /*将最大值元素的下标賦給*d*/

題号:5537

有定義:char*p1,*p2;則下列表達式中正确合理的是

A、p1/=5

B、p1 =5

C、p1=&p2

D、p1*=p2

答案:

C

題号:5257

若有定義:int *p[3];,則以下叙述中正确的是()。

A、定義了一個名為*p的整型數組,該數組含有三個int類型元素

B、定義了一個可指向一維數組的指針變量p,所指一維數組應具有三個int類型元素

C、定義了一個指針數組p,該數組含有三個元素,每個元素都是基類型為int的指針

D、定義了一個基類型為int的指針變量p,該變量具有三個指針

答案:

C

題号:6968

C語言中,定義結構體的保留字是()。

A、struct

B、union

C、enum

D、typedef

答案:

A

題号:1468

設 char *s="\ta\017bc";則指針變量s指向的字符串所占的字節數

是()。

A、7

B、6

C、9

D、5

答案:

B

題号:5300

以下程序的輸出結果是

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構成循環時,隻有在while後的表達式為非零時結束循環

B、do-while語句構成的循環不能用其它語句構成的循環來代替。

C、用do-while構成循環時,隻有在while後的表達式為零時結束循環

D、do-while語句構成的循環隻能用break語句退出。

答案:

C

題号:2823

對兩個數組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完全相同

答案:

B

題号:4522

以下數值中,不正确的八進制數或十六進制數是()。

A、-16

B、0x16

C、16

D、0xaaaa

答案:

A

題号:1353

對于基本類型相同的兩個指針變量之間,不能進行的運算是()。

A、

B、<

C、=

D、-

答案:

A

題号:2247

執行下列語句後的結果為()。

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

參加位運算的數據可以是任何類型的數據。

答案:錯誤

題号:2316

while和do…while循環不論什麼條件下它們的結果都是相同的.

答案:錯誤

題号:3246

假設有int a[10], *p;則p=&a[0]與p=a等價

答案:正确

題号:2851

字符處理函數strcpy(str1,str2)的功能是把字符串1接到字符串2的後面.

答案:錯誤

題号:4703

函數strlen("ASDFG\n")的值是7。

答案:錯誤

題号:5124

7&3 12的值是15。

答案:錯誤

題号:6167

表達式 (j=3, j ) 的值是4.

答案:錯誤

題号:4678

a=(b=4) (c=6) 是一個合法的賦值表達式。

答案:正确

題号: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

以下程序的執行結果是_____。

#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

當a = 1、b = 2、c = 3時,以下if語句執行後,a、b、c中的值分别為:_____、_____、_____

if(a > c)

b = a; a = c; c = b;

答案:

空 1:

3

空 2:

2

空 3:

2

題号:5307

下列程序的執行結果是_____。

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

以下程序的輸出結果是_____。

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

以下程序段的輸出結果是_____。

int k, n, m;

n = 10; m = 1; k = 1;

while( k <= n )

m *= 2;

printf(“%d\n”, m);

答案:

空 1:

無輸出結果 【或】 死循環 【或】 死循環無輸出結果

題号:561

閱讀下面程序,程序執行後的輸出結果是_____。

#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

函數體由符号_____開始,用符号_____結束。

答案:

空 1:

{

空 2:

}

題号:1829

若k為int型變量且賦值11,請寫出運算k 後表達式的值_____和變量的值_____。

答案:

空 1:

11

空 2:

12

題号:2493

将下列數學式改寫成C語言的關系表達式或邏輯表達式是 A)_____B)_____。

A)a=b或a<c B)|x|>4

答案:

空 1:

a==b || a<c

空 2:

abs(x)>4 【或】 x<-4 || x>4

題号:1575

對以下數學式,寫出三個等價的C語言表達式是_____、_____、_____

答案:

空 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)

程序設計

==================================================

題号:5002

/*------------------------------------------------

【程序設計】

--------------------------------------------------

功能:對某一正數的值保留2位小數,并對第三位進行四舍

五入。

------------------------------------------------*/

#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);

if(i>=5)

return(int)(h*100 1)/100.0;

else

return(int)(h*100)/100.0;

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关教育资讯推荐

热门教育资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved