2017c语言考核册答案,2017年最新C语言考题带答案
2017年最新C語言考題帶答案
A.3839
B.3938
C.380039
D.390038
(42)有以下程序
#include
main()
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,
B.;
}
輸出結果是
A.2,1
B.3,2
C.4,3
D.2,-1
(43)設有如下定義:
int (*ptr)*();
則以下敘述中正確的是
A.ptr是指向一維組數的指針變量
B.ptr是指向int型數據的指針變量
C.ptr是指向函數的指針,該函數返回一個int型數據
D.ptr是一個函數名,該函數的返回值是指向int型數據的指針
(44)有以下程序
#include
struct stu
{ int num;
char name[10];
int age;
};
void fun(struct stu *p)
{ printf("%s\n",(*p).name); }
main()
{
struct stu students[3]={ {9801,"Zhang",20},
{9802,"Wang",19},
{9803,"Zhao",18} };
fun(students+2);
}
輸出結果是
A.Zhang
B.Zhao
C.Wang
D.18(45)設有以下說明和定義:
typedef union
{ long i; int k[5]; char c; }DATE;
struct date
{ int cat; DATE cow; double dog; } too;
DATE max;
則下列語句的執行結果是
printf ("%d",sizeof (struct date )+sizeof(max));
A.26
B.30
C.18
D.8
(46)有以下程序
main()
{ char a[]="programming", b[]="language";
char *p1,*p2;
int i;
p1=a; p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));
}
輸出結果是
A.gm
B.rg
C.or
D.ga
(47)有以下程序
viod fun (int a,int b,int
C.
{ a=456; b=567; c=678;}
main()
{ int x=10, y=20,z=30;
fun (x,y,z);
printf("%d,/%d\n",c,
D.;
}
輸出結果是
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
(48)有以下程序
int fun(int x,int y,int *cp,int *dp)
{ *cp=x+y; *dp=x-y; }
main()
{ int a, b, c, d;
a=30; b=50;
fun(a,b,&c,&
D.;
printf("%d,%d\n", c,
D.;
}
輸出結果是
A.50,30
B.30,J50
C.80,-20
D.80,20
(49)有以下程序
main()
{ int i, j;
for(j=10;j<11;j++)
{ for(i=9;i=j-1)printf("%d",j);
}
}
輸出結果是
A.11
B.10
C.9
D.10 11
(50)有以下程序
#include "atdio.h"
int abc(int u,intv);
main ()
{ int a=24,b=16,c;
c=abc(a,
B.;
printf('%d\n",
C.;
}
nt abc(int u,int v)
{ int w;
while(v)
{ w=u%v; u=v; v=w }
return u;
}
輸出結果是
A.6
B.7
C.8
D.9 二、填空題(每空2分,共40分)
請將每空的正確答案寫在答題卡【1】-【20】序號的橫線上,答在試卷上不得分.
(1) 自動批自理文件名為【1】 。
(2) DOS命令分為內部命令與外部命令,COMP命令屬于【2】命令。
(3) 設當前為C盤,現要用一條DOS命令在打印機上輸出A盤當前目錄下所有擴展名為.DAT的文件內容。這一條DOS命令應為【3】 。
(4) 要將當前盤當前目錄下的子目錄XYZ中所有擴展名為.BAK 的文件名改成擴展名為.FOR,應使用的DOS命令為【4】 。
(5) 設DOS外部命令文件所在的路徑均已用PATH命令打通。現要將當前盤當前目錄下的文件WST.TXT設置為只讀屬性,應使用的DOS命令為【5】 。
(6) 設x和y均為int型變量,且x=1,y=2,則以下表達式的值為【6】 。
1.0+x/y
(7) 設i,j,k均為int型變量,則執行完下面的for循環后,k的值為【7】 。
for(i=0,j=10;i<=j;i++,j--)
k=i+j;
(8) 設有以下定義的語句:
int a[3][2]={10,20,30,40,50,60}, (*p)[2];
p=a;
則 *(*(p+2)+1)值為【8】 。
(9) 以下程序的輸出結果是【9】 。
#include
int fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;
m=i+x+y;
return m
}
main()
{ int j=4,m=1,k;
k=fun(j,m); printf("%d,",k);
k=fun(j,m); printf("%d\n",k);
}
(10) 函數fun的功能是:使一個字符串按逆序存放,請填空
void fun (char str[])
{ char m; int i,j;
for(i=0,j=strlen(str);i
{ m=str[i];
str[i]=【11】;
str[j-1]=m;
}
printf("%s\n",str);
}
(11) 以下程序的功能是:從鍵盤上輸入一行字符,存入一個字符數組中,然后輸出該字符串,請填空。
#include"ctype.h"
#include"stdio.h"
main()
{ char str[81],*sptr;
int i;
for(i=0;i<80;i++)
{ str[i]=getchar();
if(str[i]=='\n') break;
}
str[i]=【12】;
sptr=str;
while(*sptr) putchar(*sptr【13】);
}
(12) 以下程序用來對從鍵盤上輸入的兩個字符串進行比較,然后輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如:輸入的兩個字符串分別為abcdef和abceef,則輸出為-1。請填空。
#include
main()
{ char str[100],str2[100],c;
int i,s;
printf("\n input string 1:\n"); gest(str1);
printf("\n input string 2:\n"); gest(str2);
i=0;
while((strl[i]==str2[i]&&(str1[i]!=【14】))
i++;
s=【15】;
printf("%d\n",s);
}(13) 以下程序的功能是:從鍵盤上輸入一個字符串, 把該字符串中的小寫字母轉換為大寫字母,輸出到文件test.txt中,然后從該文件讀出字符串并顯示出來。請填空。
#include
main()
{ FILE *fp;
char str[100]; int i=0;
if((fp=fopen("text.txt",【16】))==NULL)
{ printf("can't open this file.\n");exit(0);}
printf("input astring:\n"); gest(str);
while (str[i])
{ if(str[i]>='a'&&str[i]<='z')
str[i]=【17】;
fputc(str[i],fp);
i++;
}
fclose(fp);
fp=fopen("test.txt",【18】);
fgets(str,100,fp);
printf("%s\n",str);
fclose(fp);
}
(14) 以下程序可以把從鍵盤上輸入的十進制數(long型)以二到十六進制形式輸出,請填空。
#include.
main()
{ char b[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C'
,'D','E','F'};
int c[64],d,i=0,base;
long n;
printf("enter a number:\n"); scanf("%ld",&n);
printf("enter new base:\n"); scanf("%d",&base);
do
{ c[i]=【19】;
i++; n=n/base;
} while(n!=0);
printf("transmite new base:\n");
for(--i;i>=0;--i)
{ d=c[i];
printf("%c",b【20】;
}
}
參考答案
一、選擇題((1)-(40)題每題1分;(41)-(50)題每題2分)
(1)B (2)B (3)D (4)D (5)B (6)A (7)B (8)C (9)D (10)A
(11)D (12)C (13)A (14)B (15)D (16)C (17)B (18)A (19)A (20)A
(21)C (22)D (23)A (24)D (25)B (26)C (27)C (28)B (29)C (30)C
(31)D (32)D (33)B (34)C (35)B (36)D (37)B (38)A (39)D (40)D
(41)A (42)A (43)C (44)B (45)B (46)D (47)A (48)C (49)B (50)C
二、填空題(每空2分,共4分)
(1)至(5)題中所有字母都允許大,小寫或大小寫混合
(1) 【1】AUTOEXEC.BAT
(2) 【2】外部(答 外部命令不扣分)
(3) 【3】COPY A:*.DAT PRN
(在 COPY 后面與A:*.DAT后面都至少要有一個空格)
(4) 【4】RENXYZ\*.BAK *.FOR 或RENAME XYZ\*.BAK*.FOR
(在REN 或RENAME 后面與XYZ\*.BAK 后面都至少要有一個空格)
(5) 【5】ATTRIB+R WST.TXT
(在ATTRIB 后面與+R后面都至少有一個空格)或ATTRIB WST.TXT+R(在ATTRIB后面與WST.TXT后面都至少要有一個空格)
(6) 【6】1.0或1
(7) 【7】10
(8) 【8】60
(9) 【9】8,17
(10) 【10】 strlen(str )/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1
【11】 str[j-1]或*(str+j-1)
(11) 【12】 '\0' 或0
【13】 ++
(12) 【14】 '\0'或0
【15】 strl[i]-str2[i]
(13) 【16】 "w"或"w+"或"wt"或"w+t"或"""wt+"
【17】 str[i]-32 或str[i]-('a'-'A'或str[i]-'a'+'A'
【18】 "r"或"r+"或"r+t"或"rt+"
(14) 【19】 nose
【20】 [d]
【2017年最新C語言考題帶答案】相關文章:
總結
以上是生活随笔為你收集整理的2017c语言考核册答案,2017年最新C语言考题带答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言计算正方体表面积的程序,成都信息工
- 下一篇: 完美的代价 c语言,蓝桥杯基础练习 完美