違法信息舉報(bào) 客服熱線:400-118-7898
廣告
?
專(zhuān)接本欄目測(cè)試廣告

?2022年遼寧專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬習(xí)題(3)

普通專(zhuān)升本 責(zé)任編輯:管理員 2021-12-22

摘要:本文2022年遼寧專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬習(xí)題(3),內(nèi)容包含指針、結(jié)構(gòu)體文件相關(guān)選擇題和填空題等題目。供大家報(bào)考參考,下面是具體內(nèi)容。

指針

一 單項(xiàng)選擇題(每題2分,共40分)

1 以下敘述中錯(cuò)誤的是___。

A 在程序中凡是以“#”開(kāi)始的語(yǔ)句行都是預(yù)處理命令行

B 預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束

C #define MAX是合法的宏定義命令行

D C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的

2 若程序中有宏定義行:#define N 100 ,則以下敘述中正確的是___。

A 宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100

B 在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符N

C 對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符N

D 在運(yùn)行時(shí)用100替換標(biāo)識(shí)符

3 若有如下宏定義:

#define N 2

#define y(n) ((N+1)*n)

則執(zhí)行下列語(yǔ)句:z=4*(N+y(5));后的結(jié)果是___。

A 語(yǔ)句有錯(cuò)誤 B z值為68 C z值為60 D z值為180

4 以下程序運(yùn)行后的輸出結(jié)果是___。

#define F(X,Y) (X)*(Y)

main()

{ int a=3,b=4;

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

}

A 12 B 15 C 16 D 20

5 以下程序運(yùn)行后的輸出結(jié)果是___。

#define f(x) (x*x)

main()

{ int i1,i2;

i1=f(8)/f(4); i2=f(4+4)/f(2+2);

printf("%d,%d\n",i1,i2);

}

A 64,28 B 4,4 C 4,3 D 64,64

6 若已定義a為int型變量,則___是對(duì)指針變量p的正確說(shuō)明和初始化。

A int p=&a; B int *p=a; C int *p=*a; D int *p=&a;

7 已知下列說(shuō)明語(yǔ)句:

static int a[]={2,4,6,8}

static int *p[]={a,a+1,a+2,a+3};

int **q;

q=p;

則表達(dá)式**(q+2)的值是___。

A 6 B 2 C 4 D 8

8 下面是一個(gè)初始化指針的語(yǔ)句:int *px=&a;,其中指針變量的名字應(yīng)該___。

A *px B a C px D &a

9 若指針px為空指針,則___。。

A px指向不定 B px的值為零 C px的目標(biāo)為零 D px的地址為零

10 對(duì)下語(yǔ)句int *px[10];,下面正確的說(shuō)法是___。

A px是一個(gè)指針,指向一個(gè)數(shù)組,數(shù)組的元素是整數(shù)型。

B px是一個(gè)數(shù)組,其數(shù)組的每一個(gè)元素是指向整數(shù)的指針。

C A和B均錯(cuò),但它是C語(yǔ)言的正確語(yǔ)句。

D C語(yǔ)言不允許這樣的語(yǔ)句。

11 具有相同基類(lèi)型的指針變量p和數(shù)組y,下列寫(xiě)法中不合法的是___。

A p=y B *p=y[i] C p=&y[i] D p=&y

12 已知static int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p; ,

則表達(dá)式 *(p[0]+1)+**(q+2) 的值是___。

A 5 B 4 C 6 D 7

13 說(shuō)明語(yǔ)句int *(*p)();的含義為_(kāi)__。

A p是一個(gè)指向int型數(shù)組的指針

B p是指針變量,它構(gòu)成了指針數(shù)組

C p是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型

D p是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)指向整型的指針

14 設(shè)有如下程序段

char s[20]="Beijing",*p; p=s;

則執(zhí)行p=s;語(yǔ)句后,以下敘述正確的是___。

A 可以用*p表示s[0]

B s數(shù)組中元素個(gè)數(shù)和p所指字符串長(zhǎng)度相等

C s和p都是指針變量

D 數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同

15 設(shè)int型變量i、n均已定義,指針變量s1、s2各指向一個(gè)字符串。在for(i=0;i<n;i++)循環(huán)中,下列語(yǔ)句用以實(shí)現(xiàn)將s2所指字符串中前n個(gè)字符復(fù)制到s1所指字符串中,其中代碼正確的是___。< p="">

A *s1++=*s2++; B s1[n-1]=s2[n-1];

C *(s1+n-1)=*(s2+n-1); D *(++s1)=*(++s2);

16 給出下列程序的運(yùn)行結(jié)果___。

#include

void main()

{ static char a[]="language",b[]="program";

char *ptr1=a,*ptr2=b;

int k;

for(k=0;k<7;k++)

if(*(ptr1+k)==*(ptr2+k)) printf("%c",*(ptr1+k));

}

A gae B ga C language D 有語(yǔ)法錯(cuò)誤

17 以下程序執(zhí)行后的輸出結(jié)果是___。

void fun1(char *p)

{ char *q;

q=p;

while(*q!='\0'){ (*q)++; q++; }

}

main()

{ char a[]={"Program"},*p;

p=&a[3]; fun1(p); printf("%s\n",a);

}

A Prohsbn B Prphsbn C Progsbn D Program

18 以下程序執(zhí)行后的輸出結(jié)果是___。

void swap(char *x,char *y)

{ char t;

t=*x; *x=*y; *y=t;

}

main()

{ char *s1="abc",*s2="123";

swap(s1,s2); printf("%s,%s\n",s1,s2);

}

A 123,abc B abc,123 C 1bc,a23 D 321,cba

19 以下程序執(zhí)行后的輸出結(jié)果是___。

main()

{ char *p[]={"3697","2584"};

int i,j; long num=0;

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

{ j=0;

while(p[i][j]!='\0')

{ if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0';

j+=2;

}

}

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

}

A 35 B 37 C 39 D 3975

20 下列程序運(yùn)行后的輸出結(jié)果是___。

void main()

{ char str[]="The_Microsoft"; int n=4;

sub(str,0,n-1);

sub(str,0,strlen(str)-1);

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

}

sub(str,n1,n2)

char *str;

int n1,n2;

{ char c,*p;

p=str+n2;

str=str+n1;

while(str<p)< p="">

{ c=*str; *str=*p; *p=c;

str++; p--;

}

}

A tfosorciMThe_ B. ehT_Microsoft C tfosorciM_ehT D. Microsoft_The

二 填空題(每空3分,共30分)

1 以下程序的定義語(yǔ)句中,x[1]的初值是 ① ,程序運(yùn)行后輸出的內(nèi)容是 ② 。

main()

{ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

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

{ p[i]=&x[2*i+1]; printf("%d", p[i][0]); }

printf("\n");

}

2 以下程序的輸出結(jié)果是 ③ 。

void swap(int *a, int *b)

{ int *t;

t=a; a=b; b=t;

}

main()

{ int i=2,j=5,*p=&i,*q=&j;

swap(p,q); printf("%d %d\n",*p,*q)

}

3 以下程序的輸出結(jié)果是 ④ 。

main()

{ int a[5]={2,4,6,8,10}, *p;

p=a; p++;

printf("%d", *p);

}

4 以下程序的輸出結(jié)果是__⑤__。

#define M 5

#define N M+M

main()

{ int k;

k=N*N*5; printf("%d\n",k);

}

5 若有定義語(yǔ)句:int a[4]={0,1,2,3},*p;p=&a[1];則++(*p)的值是 ⑥ 。

6 若有定義:int a[2][3]={2,4,6,8,10,12};則*(&a[0][0]+2*2+1)的值是 ⑦ ,*(a[1]+2)的值是 ⑧ 。

7 若有程序段:

int *p[3],a[6],i;

for(i=0;i<3;i++) p[i]=&a[2*i] ;

則*p[0]引用的是a數(shù)組元素 ⑨ ,*(p[1]+1)引用的是a數(shù)組元素 ⑩ 。

三 程序填空題(每空3分,共30分)

1 下面函數(shù)的功能是從輸入的十個(gè)字符串中找出最長(zhǎng)的那個(gè)串,請(qǐng)?zhí)羁帐钩绦蛲暾?/p>

void fun(char str[10][81],char **sp)

{ int i;

*sp = 【1】 ;

for(i=1;i<10; i++)

if(strlen(*sp)<strlen(str[i])) p="" ;

}

2 下面函數(shù)的功能是將一個(gè)整數(shù)字符串轉(zhuǎn)換為一個(gè)整數(shù),例如:"1234"轉(zhuǎn)換為1234,請(qǐng)?zhí)羁帐钩绦蛲暾?/p>

int chnum(char *p)

{ int num=0,k,len,j;

len=strlen(p);

for( ; 【3】 ; p++)

{ k= 【4】 ; j=(--len);

while( 【5】 ) k=k*10;

num=num+k;

}

return (num);

}

3 下面函數(shù)的功能使統(tǒng)計(jì)子串substr在母串str中出現(xiàn)的次數(shù),請(qǐng)?zhí)羁帐钩绦蛲暾?/p>

int count(char *str, char *substr)

{ int i,j,k,num=0;

for(i=0; 【6】 ;i++)

for( 【7】 ,k=0;substr[k]==str[j];k++,j++)

if(substr [ 【8】 ]==’\0’)

{ num++ ; break ; }

return (num);

}

4 下面函數(shù)的功能是用遞歸法將一個(gè)整數(shù)存放到一個(gè)字符數(shù)組中,存放時(shí)按逆序存放,如483存放成“384”,請(qǐng)?zhí)羁帐钩绦蛲暾?/p>

void convert(char *a, int n)

{ int i;

if((i=n/10)!=0) convert( 【9】 ,i);

else *(a+1)=0;

*a= 【10】 ;

}

結(jié)構(gòu)體 文件

單項(xiàng)選擇題(1~8題每題5分,9~18題每題6分,共100分)

1 有以下說(shuō)明語(yǔ)句,對(duì)結(jié)構(gòu)變量中成員age的正確引用是___。

struct student

{ int age; int sex; }stud1,*p;

A p->age B student.age C *p.age D stud1.student.age

2 說(shuō)明語(yǔ)句如下,則正確的敘述是___。

union data { int x; char y; float z; }a;

A data和a均是共用體類(lèi)型變量

B a所占內(nèi)存長(zhǎng)度等于其成員x、y、z各在內(nèi)存所占長(zhǎng)度之和

C 任何情況下,均不能對(duì)a作整體賦值

D a的地址和它的各成員地址都是同一地址

3 共用體成員的數(shù)據(jù)類(lèi)型___。

A 相同 B 可以不同也可以相同

C 長(zhǎng)度一樣 D 是結(jié)構(gòu)體變量

4 由系統(tǒng)分配和控制的標(biāo)準(zhǔn)輸出文件為_(kāi)__。

A 鍵盤(pán) B 磁盤(pán) C 打印機(jī) D 顯示器

5 下列關(guān)于C語(yǔ)言數(shù)據(jù)文件的敘述中正確的是 。

A C語(yǔ)言只能讀寫(xiě)文本文件

B C語(yǔ)言只能讀寫(xiě)二進(jìn)制文件

C 文件由字符序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D 文件由二進(jìn)制數(shù)據(jù)序列組成

6 若要用fopen函數(shù)建一個(gè)新的二進(jìn)制文件,該文件要既能讀也能寫(xiě),則文件方式字符串應(yīng)該為_(kāi)__。

A "ab+" B "wb+" C "rb+" D "ab"

7 下列程序運(yùn)行后的輸出結(jié)果是___。

struct s { int n; char *c; }*p;

char d[]={'a','b','c','d','e'};

struct s a[]={10,&d[0],20,&d[1],30,&d[2],40,&d[3],50,&d[4]};

#include

main()

{ p=a;

printf("%d\n",++p->n);

printf("%d\n",(++p)->n);

printf("%c\n",++(*p->c));

}

A 11 B 11 C 10 D 10

20 20 20 20

c b c b

8 已知

struct student

{ char *name; int student_no; char grade; };

struct student temp,*p=&temp;

temp.name="chou";

則下面不正確的是___。

表達(dá)式 值

A p->name chou

B (*p)->name+2 h

C *p->name+2 e

D *(p->name+2) o

9 下面程序運(yùn)行后,其輸出結(jié)果是___。

#include

struct tree

{ int x; char *s; }t;

func(struct tree t)

{ t.x=10; t.s="computer"; return 0; }

main()

{ t.x=1; t.s="minicomputer";

func(t); printf("%d,%s\n",t.x,t.s);

}

A 10,computer B 1,minicomputer C 1,computer D 10,minicomputer

10 下列程序的輸出結(jié)果是___。

#include

main()

{ union

{ int i[2];

long k;

char c[4];

}t,*s=&t;

s->i[0]=0x39;

s->i[1]=0x38;

printf("%lx ",s->k);

printf("%c\n",s->c[0]);

}

A 390038 39 B 380039 9 C 3938 38 D 3839 8

11 若已定義了如下的共用體類(lèi)型變量x,則x所占用的內(nèi)存字節(jié)數(shù)為_(kāi)__。

union data { int i; char cha; double f; }x;

A 7 B 11 C 8 D 10

12 如下說(shuō)明語(yǔ)句:

enum A {A0=1,A1=3,A2,A3,A4,A5};

enum A B;

執(zhí)行 B=A3; printf("%d\n",B); 輸出是___。

A 5 B 3 C 2 D 編譯時(shí)出錯(cuò)

13 有以下說(shuō)明語(yǔ)句,則結(jié)構(gòu)變量s的成員num的不正確引用是___。

struct student

{ int num;

int age;

}s,*p;

A s.num B *p.num C p->num D (*p).num

14 以下各選項(xiàng)試圖說(shuō)明一種新的類(lèi)型名,其中正確的是 。

A typedef integer int; B typedef integer=int;

C typedef int integer; D typedef int=integer;

15 運(yùn)行下面程序,其輸出結(jié)果是___。

#include

struct sample

{ int a,b; char *ch; };

main()

{ struct sample arg;

arg.a=1000;arg.b=100;arg.ch="abcd";

f1(arg);

}

f1(struct sample param)

{ param.a+=param.b;

param.ch[2]='x';

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

printf("%s\n",param.ch);

}

A 1000 B 1100 C 1100 D 100

abcd abcd abxd abcd

16 fwrite函數(shù)的一般調(diào)用形式是___。

A fwrite(buffer,count,size,fp); B fwrite(fp,size,count,buffer);

C fwrite(fp,count,size,buffer); D fwrite(buffer,size,count,fp);

17 C語(yǔ)言文件操作函數(shù)fread(buffer,size,n,fp)的功能是___。

A 從文件fp中讀n個(gè)字節(jié)存入buffer

B 從文件fp中讀n個(gè)大小為size字節(jié)的數(shù)據(jù)項(xiàng)存入buffer中

C 從文件fp中讀入n個(gè)字節(jié)放入大小為size字節(jié)的緩沖區(qū)buffer中

D 從文件fp中讀入n個(gè)字符數(shù)據(jù)放入buffer中

18 若有如下定義:

struct data

{ int i; char ch; float f; }b;

則結(jié)構(gòu)體變量b占用內(nèi)存的字節(jié)數(shù)是 。

A 7 B 4 C 1 D 2

更多資料

廣東省專(zhuān)升本《大學(xué)語(yǔ)文》真題

云南專(zhuān)升本《高等數(shù)學(xué)》真題(2019年)

統(tǒng)招專(zhuān)升本《高等數(shù)學(xué)》真題回憶版(2021年)

更多課程

《市場(chǎng)營(yíng)銷(xiāo)學(xué)》公開(kāi)課—業(yè)務(wù)成長(zhǎng)戰(zhàn)略

1節(jié)課

《基礎(chǔ)會(huì)計(jì)》公開(kāi)課—會(huì)計(jì)要素-反映財(cái)務(wù)狀況的會(huì)計(jì)要素

1節(jié)課

《管理學(xué)》公開(kāi)課——馬斯洛需要層次理論

1節(jié)課

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門(mén)公布的內(nèi)容為準(zhǔn)!

專(zhuān)升本備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

資料下載
  • 統(tǒng)招專(zhuān)升本《大學(xué)語(yǔ)文》真題資料

    下載
  • 統(tǒng)招專(zhuān)升本《大學(xué)語(yǔ)文》真題回憶版(2021年)

    下載
  • 統(tǒng)招專(zhuān)升本《大學(xué)語(yǔ)文》備考資料一

    下載
  • 全國(guó)版專(zhuān)接本《大學(xué)語(yǔ)文》真題匯編

    下載