最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C語(yǔ)言程序設(shè)計(jì)

2022-05-25 11:04 作者:答案鬼  | 我要投稿

一、填空題(每空1分,共10分)1. C語(yǔ)言的數(shù)據(jù)類型中,構(gòu)造類型包括:數(shù)組、 和 。 2. 在C程序中,指針變量能夠賦 ?值或 值。 3. C目標(biāo)程序經(jīng) 后生成擴(kuò)展名為exe的可執(zhí)行程序文件。 4. 設(shè)有定義語(yǔ)句 static char s[5」; 則s[4]的值是 。 5. 設(shè)x為int型變量。與邏輯表達(dá)式!x等價(jià)的關(guān)系表達(dá)式是 。 6. 若一全局變量只允許本程序文件中的函數(shù)使用,則該變量需要使用的存儲(chǔ)類別是 。 7. 磁盤文件按文件讀寫方式分類可以為順序存取文件和 。 8. 設(shè)有下列結(jié)構(gòu)體變量xx的定義,則表達(dá)式sizeof(xx)的值是_________。 struct { long num; char name[20]; union{float y; short z;} yz; }xx;二、單項(xiàng)選擇題(每小題1.5分,共30分)

題號(hào)

1

2

3

4

5

6

7

8

9

10

答案

題號(hào)

11

12

13

14

15

16

17

18

19

20

答案

1. 設(shè)有定義int x=8, y, z; 則執(zhí)行y=z=x++, x=y= =z; 語(yǔ)句后,變量x值是( ? ? ? ? ) A、0 ? ? ? ?B、1 ? ? ? C、8 ? ? ? ? D、9 2. 有以下程序 main( ) { ?int i=1,j=1,k=2; ?if((j++‖k++)&&i++) ?printf("%d,%d,%d\n",i,j,k);} 執(zhí)行后輸出結(jié)果是( ? ? ? ? ? ) A、 1,1,2 ? ? ?B、2,2,1 ? ? ? C、 2,2,2 ? ? ? ?D、2,2,3 3. 已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是( ? ? ? ? ? ?) A、 scanf( “%2d%2d%2d”,&i,&j,&k); B、 scanf( “%d %d %d”,&i,&j,&k); C、 scanf( “%d,%d,%d”,&i,&j,&k); D、 scanf( “i=%d,j=%d,k=%d”,&i,&j,&k); 4. 有以下程序 main() { int a=5,b=4,c=3,d=2; ? if(a>b>c) printf("%d\n",d); ?else if((c-1>=d)= =1) printf("%d\n",d+1); ? else printf("%d\n",d+2); } 執(zhí)行后輸出結(jié)果是 ( ? ? ? ? ? ) A、2 ? ? ? ?B、3 ? ? ? ?C、 4 ? ? ? ? D、 編譯時(shí)有錯(cuò),無結(jié)果 5. 以下程序段 ( ? ? ? ? ? ) x=1; do { x=x*x;} while (!x); A、 是死循環(huán) ? ?B、 循環(huán)執(zhí)行二次 C、 循環(huán)執(zhí)行一次 ? D、 有語(yǔ)法錯(cuò)誤 6. 以下不能正確定義二維數(shù)組的選項(xiàng)是( ? ? ? ? ? ) A、 int a[2][2]={{1},{2}}; ?B、 int a[][2]={1,2,3,4}; C、 int a[2][2]={{1},2,3}; ?D、 int a[2][]={{1,2},{3,4}}; 7. 有以下程序 main() { ?int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; ? int i,s=0; ? for(i=0;i<4;i++) s+=aa[i][1]; ? printf(“%d\n”,s); } 程序運(yùn)行后的輸出結(jié)果是 ( ? ? ? ? ? ) A、11 ? ? ? B、19 ? ? ? ? C、 13 ? ? ? ? ?D、20 8. 以下程序的輸出結(jié)果是 ( ? ? ? ? ? ) ? main() ? { ?char ch[3][5]={"AAAA","BBB","CC"}; ? ? printf("\"%s\"\n",ch[1]); ? } ?A、"AAAA" ? ? B、"BBB" ? ? ?C、"BBBCC" ? ? ? ?D、"CC" 9. 有以下程序 #define ?f(x) ?x*x main( ) { ?int i; ? i=f(4+4)/f(2+2); ? printf(“%d\n”,i); } ?執(zhí)行后輸出結(jié)果是( ? ? ? ? ? ) A、28 ? B、22 ? C、16 ? D、4 10. 決定C語(yǔ)言中函數(shù)返回值類型的是( ? ? ? ? ? )。 A、return語(yǔ)句中的表達(dá)式類型 B、調(diào)用該函數(shù)的主調(diào)函數(shù)類型 C、調(diào)用函數(shù)時(shí)臨時(shí)指定的類型 D、定義函數(shù)時(shí)在函數(shù)首部中所指定的類型(若缺省,則隱含為int型)。 11. 系統(tǒng)對(duì)預(yù)處理命令(如宏替換、文件包含、條件編譯)的處理時(shí)機(jī)是( )。 A、編譯源程序 ? ? ? B、編譯源程序之前 ? C、連接目標(biāo)文件時(shí) ? ? ?D、運(yùn)行程序時(shí) 12. 在位運(yùn)算中,操作數(shù)每左移一位,其結(jié)果相當(dāng)于( )


A、操作數(shù)乘以2 C、操作數(shù)除以2 B、操作數(shù)除以4 D、操作數(shù)乘以4


13. 下述描述中不正確的是( )。 A、字符型數(shù)組中可以存放字符串 B、可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出 C、可以對(duì)整型數(shù)組進(jìn)行整體進(jìn)行輸入、輸出 D、不能在賦值語(yǔ)句中通過賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值 14. 若有以下定義 int a[2][3],則對(duì)a數(shù)組第i行第j列元素的正確引用是( ? ? ? ?) A、 *(*(a+i)+j) ? B、 (a+i)[j] C、 *(a+i+j) ? ?D、 *(a+i)+j 15. 有以下程序 void fun(char *a, char *b) { ?a=b; (*a)++; } main() { ?char c1='A',c2='a',*p1,*p2; ? p1=&c1; p2=&c2; fun(p1,p2); ? printf("%c%c\n",c1,c2); } 程序運(yùn)行后的輸出結(jié)果是( ? ? ? ? ? )


A、 Ab B、 aa C、 Aa D、 Bb


16. 已定義以下函數(shù) Fun (char *p2, char * p1) ?{ while((*p2=*p1)!=' \0'){ p1++;p2++; }}  函數(shù)Fun的功能是( ? ? ? ? ? ) A、將p1所指字符串復(fù)制到p2所指內(nèi)存空間 B、將p1所指字符串的地址賦給指針p2 C、對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較 D、檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼?#39;\0' 17. 設(shè)有以下結(jié)構(gòu)體類型: struct st { ?char name[8]; ? int num; ? float s[4]; }student[50]; 并且結(jié)構(gòu)體數(shù)組student中的元素都已有值,若要將這些元素寫到硬盤文件fp中,以下不正確的形式是( ? ? ? ? ? ) A、 fwrite(student,sizeof(struct st),50,fp); B、 fwrite(student,50*sizeof(struct st),1,fp); C、 fwrite(student,25*sizeof(struct st),25,fp); D、 for(i =0;i<50;i++) fwrite(student+i, sizeof(struct st),1,fp);


18. 若有說明語(yǔ)句

char a[ ]= "It is mine";

char *p=" It is mine";

則以下不正確的敘述是( )

A、 a+1表示的是字符t的地址

B、 p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制

C、 p變量中存放的地址值可以改變

D、 a中只能存放10個(gè)字符

19. 當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是 ( ? ? ? ? ? ?)

A、 數(shù)組的長(zhǎng)度

B、 數(shù)組的首地址

C、 數(shù)組每一個(gè)元素的地址

D、 數(shù)組每一個(gè)元素中的值

20. 設(shè)有變量說明 ?int a=3,b=6; char c; 若執(zhí)行賦值語(yǔ)句 c=(a^b)<<2;

則c的二進(jìn)制值是( ? ? ? ? ? )。

A、00011100 ? ?B、00000111 ? C、00000001 ? D、00010100

三、閱讀程序,將運(yùn)行結(jié)果寫到各題右側(cè)的空白處(每小題4分,共20分)

1.#include <stdio.h>

main()

?{ ?char str[]="1234567";

? ? int i;

? ? for(i=0; i<7; i+=3)

? ? ? printf("%s\n", str+i);

?}

2.#include <stdio.h>

main()

{ ?int i;

 for(i=0;i<3;i++)

 ?switch(i)

 ?{ ?case 0: printf("%d",i);

 ? ? case 2: printf("%d",i);

 ? ? default: printf("%d",i);

}

}

3.#include <stdio.h>

?main()

?{

? ?int i;

? ?for (i=1;i<6;i++)

? ?{

? ? ?if (i%2){

? ? ? ?printf("#");

? ? ? ?continue; }

? ? ?printf("*");

? ?}

? ?printf("\n");

}

4.#include <stdio.h>

? int b=1;

? func (int p)

? {

? ? static int d=5;

? ? d+=p;

? ? printf ("%d,",d);

? ? return (d );

? ?}

? ?main ()

? ?{

? ? ?int a=3;

? ? ?printf("%d\n",func(a+func(b)));

}

5.#include <stdio.h>

struct stu

? { int num; char name[10]; int age;};

?void py(struct stu *p)

? {printf("%s\n", (*p).name);}

?main()

?{

struct stu student[3]={{1001,"Sun",25},{1002,"Ling",23},{1003,"Shen",22}};

? ? py(student+2);

?}

四、閱讀程序或程序段,填空(每小題4分,共20分)

1.下面程序的功能是調(diào)用fun函數(shù)以刪除字符串中指定的字符,請(qǐng)?zhí)羁铡?/p>

void fun(char s[],int c)

{ ? int i,j;

? ?for(i=0,j=0;s[i]!='\0';i++)

?if ( ? ) ?

? ?s[j]='\0';

}

main()

{ char str[]="abcdefgAbcd", ch;

scanf("%c",&ch);

fun(str,ch);

printf("%s\n",str);

}

2.下面程序是按學(xué)生姓名查詢其排名和平均成績(jī),查詢可連續(xù)進(jìn)行直到鍵入0時(shí)結(jié)束,請(qǐng)?zhí)羁铡?/p>

#include<string.h>

#define NUM 4

struct student

{ int rank;

char *name;

float score;};

?stu[]={3,”Tom”,89.3,4,”Mary”,78.2,1, ”Jack”,95.1,2, ”Jim”,90.6};

main()

{ ?char str[10]; int i;

do

{ printf("Enter a name: ");

scanf("%s",str);

for(i=0;i<NUM;i++)

if ( ?)

{ printf("%s,%d,%f\n",stu[i].name, stu[i].rank,stu[i].score); break;}

if(i>=NUM) printf("Not found\n");

}while(strcmp(str,”0”)!=0);

}

3.下面程序是用“順序查找法”查找數(shù)組中的元素,請(qǐng)?zhí)羁铡?/p>

main()

{ ?int a[8]={25,57,48,37,12,92,86,33};

int i, x;

scanf("%d", &x);

for(i=0;i<8;i++)

? if ( )

? {printf("Found!The index is :%d\n", i);break;}

? if( )

? ? ?printf(“Can’t found! ");

}

4.下面程序由鍵盤輸入一些字符,逐個(gè)把它們送到磁盤文件中,直到輸入一個(gè)“!”為止,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main( )

{ FILE *fp;

char ch,fname[10];

printf("Input name of file: \n"); gets(fname);

if((fp=fopen(fname, "w"))= =NULL)

{printf("cannot open \n");exit(0);}

printf("Enter data:\n");

while ( ?) fputc ( );

fclose(fp);

5.下面函數(shù) fun 的功能是:將在字符串s中下標(biāo)為奇數(shù)位置上的字符,緊隨其后重復(fù)出現(xiàn)一次,放在一個(gè)新串t中, 例如:當(dāng)s中的字符串為:"ABCDEF" 時(shí),則t中的字符串應(yīng)為:"BBDDFF"。

#include<string.h>

void fun (char *s, char *t)

{ ?int i,j;

? for(i=0;i<=strlen(s);i++)

{ ? ? ;

? ? ? ;

}

}

main()

{ ?char s[100],t[100];

scanf("%s",s);

fun(s,t);

printf("The result is: %s\n", t);

}

五、編程題(每小題10分,共20分)

1.編一個(gè)程序,將輸入的一個(gè)字符串按反序存放,要求在主函數(shù)中輸入字符串并輸出反序后的字符串,在被調(diào)用函數(shù)中完成反序存放。例如:輸入字符串“abcdefg”,輸出“gfedcba”。

2.有一個(gè)班5位學(xué)生,各學(xué)4門課程,查找出有一門以上課程不及格的學(xué)生,打印出其全部課程的成績(jī)。


C語(yǔ)言程序設(shè)計(jì)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
罗甸县| 神木县| 五峰| 丹巴县| 铜鼓县| 巴楚县| 晴隆县| 南溪县| 金沙县| 西华县| 凤台县| 巴林左旗| 景德镇市| 界首市| 和林格尔县| 独山县| 宁海县| 巍山| 云浮市| 大安市| 贵德县| 龙门县| 瓦房店市| 陇西县| 滨州市| 玛纳斯县| 武冈市| 广平县| 保康县| 莫力| 巨野县| 乌鲁木齐市| 三亚市| 伊通| 永宁县| 拜泉县| 资兴市| 尼玛县| 屏东县| 淳安县| 固始县|