全國2007年1月高等教育自學考試 一、單項選擇題(本大題共20小題,每小題1分,共20分) 1.以下正確的C語言自定義標識符是( )。 2.在C語言中,錯誤的常數表示是( )。 3.設int a,x=2;執行語句a=x>0?3*x(x=10);后,變量x的值是( )。 4.設有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);執行后輸出的結果是( )。 5.在C語言中,字符串″\\TOP\t\65\″″的長度是( )。 6.設float x;,由鍵盤輸入:12.45,能正確讀入數據的輸入語句是( )。 7.逗號表達式a=2*6,a*3,a+5的值是( )。 8.C語言表達式3.26*exp(x)+(a+b)/3所表示的數學表達式是( )。 9.在C語言中,下列運算符中結合性屬于自右向左的是( )。 10.設int(*p)[4];,則p的含義是( )。 11.設char x[][10]={″Windows″,″dos″,″unix″};,執行pintf(″%c″,x[1][2]);后輸出的結果是( )。 12.設int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(* ptr)[3]=a,*p=a[0];,則與數組元素a[1][2]等價的是( )。 13.設int a=11,b=2;,執行下述程序段后,變量a和b的值分別是( )。do{a/=b++; }while(a>b); 14.在C語言中,下列錯誤的說法是( )。 15.設int a[2][3]={{1},{2,3}};,則元素a[1][0]的值是( )。 16.若main()帶參數,正確的是( )。 17.設struct student{ char name[10];int sex;int num;}s,*p=&s;以下對結構型變量s中成員num的非法引用是( )。 18.下列說法中正確的是( )。 19.設enum week {mon,tue=2,wed,thu,sat=6}day;,則枚舉常量mon和thu的值分別是( )。 20.下列屬于文件包含的命令是( )。 二、填空題(本大題共10小題,每小題2分,共20分) 21.一個C語言程序的執行起點是__________。 22.設int x=3,y=5;,則執行printf(″%d\n″,x^y);后輸出__________。 23.設int s[3][2]={1,2,3,4,5,6},(*p)[2]=s;,則*(*(p+1)+1)的值是__________。 24.C語言中,可以處理的兩類文件分別是文本文件和__________。 25.設int a=2;,則執行a+=a*=15;后,變量a的值是__________。 26.設double y[4][5];,則數組y中元素的個數是__________。 27.設int x=7,y=3,則表達式x%y+x/y的值是__________。 28.設char s[]={″apple″};,則執行printf(″%d\n″,strlen(s));后輸出的值是__________。 29.設 union{int i;char j[10];float k;}u;則sizeof(u)的值是__________。 30.設 #define MOD(a,b)a%bmain(){ int x=4,y=16,z;z=MOD(y,x);printf(″%d\n″,z++);}則程序執行的結果是__________。 三、程序分析題(本大題共5小題,每小題5分,共25分) 31.main() {int x=15; while(x<20) {x++ if(x/3!=0){x++;break;} else continue; } printf(″%d\n″,x); } 32.fun(int a[],int i,int j) {int t; if(i<j) {t=a[i];a[i]=a[j];a[j]=t; i++;j--; fun(a,i,j); } } main() {int x[]={2,4,6},i; fun(x,0,2); for(i=0;i<3;i++) printf(″%2d″,x[i]); printf(″\n″); } 33./*程序運行時,輸入一個整數5*/ main() {int a,b[10],c,i=0; printf(″輸入一個整數\n″); scanf(″%d″,&a); while(a!=0) {c=a%2; a=a/2; b[i]=c; i++; } for(;i>0;i--)printf(″%d″,b[i-1]); } 34.# include <stdio.h> main() {int a,b,i; a=b=0; for(i=0;i<=10;i+=2) {a+=i; b+=i+1; } printf(″a=%d\n″,a); printf(″b=%d\n″,b-11); } 35.int a=100; s() {static int a=20; a++ printf(″%d\n″,a); } main() {int i; for(i=1;i<=3;i++) {a++; printf(″%d,″,a); s(); } } 四、程序填充題(本大題共3小題,每小題6分,共18分) 36.對含有10個元素的數組a先按元素的存儲次序倒序輸入,再按其正序輸出。 #define_______/*第一空*/ main() {int i,a[N]; for(i=N-1; _______;i--)/*第二空*/ scanf(″%d″, _______);/*第三空*/ for(i=0;i<N;i++)printf(″%d\t″,a[i]); printf(″\n″); } 37.學生成績的字母等級和分數范圍如下: 字母等級 分數范圍 A 90~100 B 80~89 C 70~79 D 60~69 E 0~59 其它字母 輸入錯誤 輸入字母等級之后,輸出相應的分數范圍。 main() { _______;/*第一空*/ scanf(″%c″,&score); switch(score) { case′A′:printf(″A:90~100\n″);_________;/*第二空*/ case′B′:printf (″B:80~89\n″);break; case′C′:printf (″C:70~79\n″);break; case′D′:printf (″D:60~69\n″);break; case′E′:printf (″E: 0~59\n″);break; _______:printf(″輸入錯誤\n″);/*第三空*/ } } 38.文本文件num.dat中含有若干個整數,將這些數據讀出后求出它們的和,再將這些數據與它們的和分別顯示到屏幕上。 #include<stdio.h> main() {int num;long int sum=0L; FILE*fp; fp=fopen(″num.dat″, ″r″); do { fscanf(________,&num);/*第一空*/ sum+=_________;/*第二空*/ printf(″%5d″,num); }while(_______);/*第三空*/ printf(″\nsum=%ld\n″,sum); fclose(fp); } 五、程序設計題(本大題共3小題,第39小題5分,第40、41小題各6分,共17分) 39.輸入兩個實型數x和y,計算并輸出它們的和、差、積和商。 40.輸入自變量x的值后,計算并輸出y的值。 計算公式:y= 41.用循環結構輸出下列數字金字塔(共9行)。 1 121 12321 1234321 …………… 12345678987654321 |
熱門資料下載: |
< |
自考最新熱貼: |
【責任編輯:育路編輯 糾錯】 |
|
|
【育路網版權與免責聲明】 | |
① 凡本網注明稿件來源為"原創"的所有文字、圖片和音視頻稿件,版權均屬本網所有。任何媒體、網站或個人轉載、鏈接、轉貼或以其他方式復制發表時必須注明"稿件來源:育路網",違者本網將依法追究責任; | |
② 本網部分稿件來源于網絡,任何單位或個人認為育路網發布的內容可能涉嫌侵犯其合法權益,應該及時向育路網書面反饋,并提供身份證明、權屬證明及詳細侵權情況證明,育路網在收到上述法律文件后,將會盡快移除被控侵權內容。 |
熱點專題 |