當前位置:首頁 » 編程語言 » c語言筆試編程題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言筆試編程題

發布時間: 2022-07-11 13:45:13

A. 國家計算機二級c語言筆試有多少道題

三道題,第一題是填空題(30分)、第二題是改錯題(30分)、第三題是編程題(40分),總共100分。

B. 計算機二級c語言的筆試編程題是怎麼給分的

如果你編譯通過了,會得到一些分,然後如果你運行的結果和預料的一樣,那就是滿分。前兩題也一樣,運行時你可以輸入實際的數據,看能否得到滿足題意的結果。
所以盡量編譯通過,盡量運行正確。注意存檔!

C. c語言編程題目求解

#include<stdio.h>
int fun(int a)
{
int i;
for(i=2;i<=a;i++)
{
if(a%i==0)
{
break;
}
}
if(i>=a)
{
return 1;
}
else{
return 0;}
}
int main()
{
int a;
scanf("%d",&a);
if(fun(a))
{
printf("yes\n");
}
else{
printf("no\n");}

return 0;
}
第二題

D. 全國計算機二級考試(c語言)的題型及各題分值是怎樣的(筆試和上機)

全國計算機二級考試(c語言)的題型及各題分值是怎樣的題型分值分布:

1、單項選擇題,40題,40分(含公共基礎知識部分10分)。

2、程序填空題,2~3個空,18分;上機題。

3、程序改錯題,2~3處錯誤,18分;上機題。

4、程序設計題,1題,24分;上機題。

二級公共基礎知識在各科考試選擇題中體現。程序設計部分,主要考查考生對程序設計語言使用和編程調試等基本能力,在選擇題和操作題中加以體現。

(4)c語言筆試編程題擴展閱讀:

二級c語言考試要求:

1、熟悉Visual C++2010 Express集成開發環境。

2、掌握結構化程序設計的方法,具有良好的程序設計風格。

3、掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序。

4、在Visual C++2010 Express集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。

E. 請問C語言考試考些什麼呀都是些什麼題型

分為上機和筆試
上機共三答題
第一題,第二題是填空20分
改錯20分,第三題是編程題60分
筆試只有選擇題70分和填空題30分
要想通過必須認真看書
做題

F. 求C語言面試筆試題:與C語言相關的字元輸入輸出筆試題

一份曾經的考卷+答案~~//後面的編程題是以前做過的實驗~~

《程序設計基礎-C》試卷
一、單項選擇題
1. C 語言程序中可以對程序進行注釋,注釋部分必須用符號_____括起來。
A、『』 B、『[『和』]』 C、「/*」和」*/」 D、「*/」和」/*」
2. 下列運算符中,優先順序最低的是_____。
A、* B、!= C、+ D、=
3. 若變數已正確定義,表達式 (j=3, j++) 的值是_____ 。
A、3 B、 4 C、5 D、0
4. 已知字元 『a』 的ASCII碼為 97 ,執行下列語句的輸出是_____。
printf ("%d, %c", 』b』, 』b』+1 ) ;
A、98, b B、語句不合法 C、98, 99 D、 98, c
5. 表達式strcmp(「box」, 「boss」) 的值是一個_______。
A、 正數 B、 負數 C、 0 D、 不確定的數
6. 數組定義為 int a[3][2]=,數組元素_____的值為6。
A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3]
7. 要調用數學函數時,在#include命令行中應包含_____。
A、 」stdio.h」 B、 」string.h」 C、 」math.h」 D、 」ctype.h」
8. 判斷i和j至少有一個值為非0的表達式是_____。
A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j
9. 若a是基本整型變數,c是單精度實型變數,輸入語句______是錯誤的。
A、scanf(」%d,%f」, &a, &c); B、scanf(」d=%d, c=%f」, &a, &c);
C、scanf(」%d%f」, &a, &c); D、scanf(」%d%f」, a, c);
10. 若變數已正確定義並且指針p已經指向某個變數x,則(*p)++相當於_____。
A、p++ B、x++ C、*(p++) D、&x++
11. 若p1、p2都是整型指針,p1已經指向變數x,要使p2也指向x, _____是正確的。
A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1;
12. 下列程序段的輸出是_____。
int c[]=;
int *k=c+1;
printf("%d", *++k);
A、 3 B、 5 C、 4 D、6
13. 不正確的賦值或賦初值的方式是______。
A、char str[]="string";
B、char str[7]=;
C、char str[10];str="string";
D、char str[7]=;
14. 對於以下結構定義,++p->str中的++加在_____。
struct {
int len;
char *str;
} *p;
A、指針str上 B、指針p上 C、str指的內容上 D、以上均不是
15. 對於如下說明,語法和語義都正確的賦值是_____。
int c, *s, a[]=;
A、c=*s; B、 s[0]=a[0]; C、s=&a[1]; D、 c=a;

二、填空題
1. 寫出下列程序段的輸出結果。
float x1, x2;
x1=3/2;
x2=x1/2;
printf("%d, %.1f", (int)x1, x2) ;
2. 表達式 (7<<1>>2^2 ) 的值是_______。
3. 寫出下列程序段的輸出結果。
#define A 10
#define B (A<A+2)-2
printf("%d", B*2);
4. 寫出判斷字元變數c是英文字母的表達式 。
5. 寫出下列程序段的輸出結果。
int k, x;
for (k=0, x=0; k<=9&&x!=10; k++)
x+=2;
printf ("%d, %d", k, x) ;
6. 寫出下列程序段的輸出結果。
printf(「%d, %d」, NULL, EOF);
7. 對於以下遞歸函數f,調用 f (3) 的返回值是_____。
f (int n)

8. 寫出下列程序段的輸出結果。
char str[]="hello\tworld\n";
printf("%d, %c\n", sizeof(str), *(str+10));
9. 輸入12345#後,寫出下列程序的輸出結果。
void main()
{ char c;
for(c=getchar(); getchar()!=』#』; c=getchar())
putchar(c);
}
10. 執行程序find –nx ould text.txt時,*++argv[1]的值是_______。
三、程序閱讀題
1. 若輸入 3 1 2 3 <回車> , 則以下程序的輸出結果是_______。
#include "stdio.h"
void main()
{ int i, j, n, a[10];
scanf("%d", &n);
for (i=0; i<n; i++)
scanf("%d",&a[i]);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
printf("%d, ", a[(i+j)%n]);
}
2. 若輸入89 76 24 25 9 8 11 16 35 4 <回車> , 則以下程序的輸出結果是_______。
#include "stdio.h"
#define N 10
main()
{
int x[N], y1[N], y2[N];
int i, j, n1, n2, t, p;
n1=n2=0;
for(i=0;i<N;i++){
scanf(「%d」, &x[i]);
if(x[i] % 2==0) y1[n1++]=x[i];
else y2[n2++]=x[i];
}
for(i=1; i<n1; i++)
for(j=0; j<n1-1; j++)
if(y1[j]>y1[j+1]){
t=y1[j]; y1[j]=y1[j+1]; y1[j+1]=t;
}
for(i=0; i<n2-1; i++){
p=i;
for(j=i+1; j<n2; j++)
if(y2[p]<y2[j]) p=j;
if(p!=i){
t=y2[i]; y2[i]=y2[p]; y2[p]=t;
}
}
for(i=0; i<n1; i++) printf("%d, ", y1[i]);
for(i=0; i<n2; i++) printf("%d, ", y2[i]);
}
3. 以下程序的輸出結果是_______。
#include <stdio.h>
int z;
void p(int *x, int y)
{ ++*x;
y--;
z=*x+y+z;
printf("%d, %d, %d#", *x, y, z);
}
void main()
{ int x=1, y=5, z=9;
p(&x, y);
printf("%d, %d, %d#", x, y, z);
}
4. 若輸入 -6+15*3/5=<回車> , 則以下程序的輸出結果是_______。
#include <stdio.h>
void main()
{
int m=0, sum=0;
char c, oldc='+';
do {
c=getchar();
if(c<='9'&&c>='0') m=10*m+c - '0';
else {
if(oldc=='+') sum += m;
else sum -= m;
m=0;
oldc=c;
printf("%d, ", sum);
}
} while(c!='=');
}

四、程序填空題
下列程序的功能是創建單向鏈表。
#include <stdio.h>
#include <alloc.h>
struct link {
char name[10];
int mark;
struct link * next;
};
void insert(char *, int);
struct link * head = NULL;
main()
{
char name[10];
int mark;
struct link * t;
while ( 1 ) {
scanf("%s %d", name, &mark);
if ( strcmp(name, "#") == 0 ) break;
______(1)_______;
}
for (t=head; ______(2)_______)
printf("<%s>: %d\n", t->name, t->mark);
}
void insert(char * name, int mark)
{
struct link * p;
p = ______(3)_______ ;
strcpy(p->name, name);
p->mark = mark;
______(4)_______;
if ( head != NULL ) ______(5)_______;
head = p;
}

答案
2000~2001學年《程序設計基礎C》參考答案

一、單項選擇題
C D A D A B C B D B A B C A C
二、填空題
1 1, 0.5
2 1
3 -3
4 c>=』a』&&c<=』z』|| c>=』A』&&c<=』Z』
5 5, 10
6 0, -1
7 -17
8 13, d
9 13
10 『n』
三、程序閱讀題
1 1, 2, 3, 2, 3, 1, 3, 1, 2,
2 4, 8, 16, 24, 76, 89, 35, 25, 11, 9,
3 2, 4, 6#2, 5, 9#
4 0, -6, 9, 6, 1,
四、程序填空題
(1) insert(name, mark)
(2) t!=NULL; t=t->next
(3) (struct link *)malloc(sizeof(struct link))
(4) p->next = NULL
(5) p->next = head

編程
程序填空,不要改變與輸入輸出有關的語句。
輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:
給定平面任意兩點坐標 (x1, y1) 和 (x2, y2),求這兩點之間的距離(保留2位小數)。
要求定義和調用函數 dist(x1, y1, x2, y2)計算兩點間的距離,函數形參x1、y1、x2和y2的類型都是double,函數類型是double。
輸入輸出示例:括弧內是說明
輸入
1 (repeat=1)
10 10 (x1=10, y1=10)
200 100 (x2=200, y2=100)
輸出
Distance = 210.24

#include <stdio.h>
#include <math.h>
double dist(double x1, double y1, double x2, double y2);
int main(void)
{
int repeat, ri;
double distance, x1, y1, x2, y2;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
/*---------*/
printf("Distance = %.2f\n", distance);
}
}

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

程序填空。
求1~100中能被6整除的所有整數的和

#include <stdio.h>
int main(void)
{
int i, sum = 0;
/*---------*/
printf("%d", sum);
}

程序填空,不要改變與輸入輸出有關的語句。
輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:
讀入1 個實數x和正整數 n(n<=50),計算並輸出 x 的 n 次冪(保留2位小數),不允許調用pow函數求冪。
輸入輸出示例:括弧內是說明
輸入
2 (repeat=2)
1.5 2 (x=1.5,n=2)
2 7 (x=2,n=7)
輸出
2.25
128.00

#include <stdio.h>
int main(void)
{
int i, n;
int repeat, ri;
double mypow, x;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf%d", &x, &n);
/*---------*/
printf("%.2f\n", mypow);
}
}

……編程題還有好多~~需要的話可以發給你~

G. 誰有大一C語言考試題快考試了,跪求題庫··

單項選擇題(每小題2分,共50分)

1、一個C程序的執行是從___A__。

A、本程序的main函數開始,到main函數結束

B、本程序的main函數開始,到本程序文件的最後一個函數結束

C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數 D、字元

3、請選出可用作C語言用戶標識符的一組標識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:網路-c語言

H. 2015計算機二級考試c語言考試都有什麼題型

2015年全國計算機二級C語言考試大綱

基本要求
1. 熟悉Visual C++6. 0集成開發環境。
2. 掌握結構化程序設計的方法,具有良好的程序設計風格。
3. 掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序。
4. 在Visual C++6. 0集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。
考試內容
一、C語言程序的結構
1. 程序的構成,main函數和其他函數。
2. 頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。
3. 源程序的書寫格式。
4. C語言的風格。
二、數據類型及其運算
1. C的數據類型(基本類型,構造類型,指針類型,無值類型)及其定義方法。
2. C運算符的種類、運算優先順序和結合性。
3. 不同類型數據間的轉換與運算。
4. C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。二級各科考試的公共基礎知識大綱及樣題見高等教育出版社出版的《全國計算機等級考試二級教程——公共基礎知識》的附錄部分。
三、基本語句
1. 表達式語句,空語句,復合語句。
2. 輸入輸出函數的調用,正確輸入數據並正確設計輸出格式。
四、選擇結構程序設計
1. 用if 語句實現選擇結構。
2. 用switch語句實現多分支選擇結構。
3. 選擇結構的嵌套。
五、循環結構程序設計
1. for循環結構。
2. while和do-while循環結構。
3. continue語句和break語句。
4. 循環的嵌套。
六、數組的定義和引用
1. 一維數組和二維數組的定義、初始化和數組元素的引用。
2. 字元串與字元數組。
七、函數
1. 庫函數的正確調用。
2. 函數的定義方法。
3. 函數的類型和返回值。
4. 形式參數與實在參數,參數值的傳遞。
5. 函數的正確調用,嵌套調用,遞歸調用。
6. 局部變數和全局變數。
7. 變數的存儲類別(自動,靜態,寄存器,外部),變數的作用域和生存期。
八、編譯預處理
1. 宏定義和調用(不帶參數的宏,帶參數的宏)。
2. 「文件包含冶處理。
九、指針
1. 地址與指針變數的概念,地址運算符與間址運算符。
2. 一維、二維數組和字元串的地址以及指向變數、數組、字元串、函數、結構體的指針變數的定義。通過指針引用以上各類型數據。
3. 用指針作函數參數。
4. 返回地址值的函數。
5. 指針數組,指向指針的指針。
十、結構體(即「結構冶)與共同體(即「聯合冶)
1. 用typedef 說明一個新類型。
2. 結構體和共用體類型數據的定義和成員的引用。
3. 通過結構體構成鏈表,單向鏈表的建立,結點數據的輸出、刪除與插入。
十一、位運算
1. 位運算符的含義和使用。
2. 簡單的位運算。
十二、文件操作
只要求緩沖文件系統(即高級磁碟I/ O系統),對非標准緩沖文件系統(即低級磁碟I/O系統)不要求。
1. 文件類型指針(FILE類型指針)。
2. 文件的打開與關閉(fopen,fclose)。
3. 文件的讀寫(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf 函數的應用),文件的定位(rewind,fseek函數的應用)。
考試方式
上機考試,考試時長120分鍾,滿分100分。
題型及分值
單項選擇題40分(含公共基礎知識部分10分)、操作題60分(包括填空題、改錯題及編程題)。
考試環境
Visual C++6. 0

I. c語言編程題

第一題:編程輸出右邊圖形,其行數n (<= 26)由輸入而定。 A
A B A
A B C B A
A B C D C B A
#include <stdio.h>
main ()
{
int i,j,k;
int a,n;
printf("please input your low:\n");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
a=65;
for(k=1;k<=i;k++)
printf("%c",a++);
for(k=1;k<i;k++)
printf("%c",--a-1);
printf("\n");
}

}

第二題:已知某班N(〈=50)名學生進行了高數、英語和C語言等3門課考試,將3門課的成績以及計算3門課的總分存放於一個二維數組中,將學生姓名存放在另一個二維字元數組中,按總分(由高到低)將學生姓名排序並輸出排序結果(序號和姓名)。
#include<stdio.h>
#include<string.h>
#define N 50
typedef struct
{
float mark[4];
long number;
char name[25];
}JD;
JD stu[N];
void sort(JD stu[],int n)
{
int i,j;
JD temp;
for(i=1;i<=n;i++)
for(j=1;j<=n-i;j++)
if(stu[j].mark[4]<stu[j+1].mark[4])
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}

}
main()
{

int i,n;
printf("請輸入學生數:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("請輸入第%d個學生的信息(包括學號、姓名、高數成績、英語成績、c語言成績):\n",i);
scanf("%ld%s",&stu[i].number,stu[i].name);
scanf("%f%f%f",&stu[i].mark[1],&stu[i].mark[2],&stu[i].mark[3]);
}
for(i=1;i<=n;i++)
{
stu[i].mark[4]=0;
stu[i].mark[4]=stu[i].mark[1]+stu[i].mark[2]+stu[i].mark[3];
}

sort(stu,n);
printf("排序的結果是:\n");
for(i=1;i<=n;i++)
{
printf("第%d名同學是:",i);
printf("%ld\t%s\n",stu[i].number,stu[i].name);

}

}

/*1. 用下面的公式計算e的x次方。在程序中要求用函數f1計算每項分子的值,
用函數f2計算每項分母的值(用遞歸函數來實現)。通過主函數調用f1和f2完成計算。
=1+ x + + + …(前10項的和)*/

/*#include<stdio.h>
double f1(int n,int m)
{
int i;
double s=1;
for(i=1;i<=m;i++)
s*=n;
return(s);
}
double f2(int n)
{
int i;
double fa=1;
for(i=1;i<=n;i++)
fa*=i;
return(fa);

}

void main()
{
int i,n;
double e=0.0;
printf("please input your x:\n");
scanf("%d",&n);
for(i=0;i<10;i++)
e+=f1(n,i)/f2(i);
printf("e的x次方大約為:\n");
printf("%lf",e);
}

2:編寫函數fun(char s[ ], int num[ ]),其功能是統計字元串 s 中數字字元、大寫字母、小寫字母和空格字元的出現次數,統計結果存於num數組中。再設計main函數,調用fun函數,實現預期功能。
#include<stdio.h>
#define N 10
void fun(char s[], int num[])
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]>='0'&&s[i]<='9')
num[0]++;
else if(s[i]>='a'&&s[i]<='z')
num[1]++;
else if(s[i]>='A'&&s[i]<='Z')
num[2]++;
else if(s[i]==' ')
num[3]++;
}
main()
{
int num[4],i,j;
char s[N];
for(i=0;i<4;i++)
num[i]=0;
printf("please input the string:\n");
for(i=0;i<N;i++)
scanf("%c",&s[i]);
printf("the string is:\n");
for(i=0;i<N;i++)
printf("%c",s[i]);
fun(s,num);
printf("\n此字元串中數字字元出現的次數:\n");
printf("\t%d",num[0]);
printf("\n此字元串中小寫字母出現的次數:\n");
printf("\t%d",num[1]);
printf("\n此字元串中大寫字母出現的次數:\n");
printf("\t%d",num[2]);
printf("\n此字元串中空格字元出現的次數:\n");
printf("\t%d",num[3]);
}